基于Angular2+的Tab页+侧边菜单比较完整的解决方案

基于Angular2+的Tab页+侧边菜单比较完整的解决方案,第1张

左侧导航,右侧侧边辅助菜单,中间主业务界面;左侧导航是根据用户权限动态生成的。

中间的主业务界面是通过Tab页的方式实现,可以根据左侧导航栏的点击行为动态打开或切换到相应的Tab页,当然,这里的Tab页要支持Tab页基本应该具有的功能特点,包括打开、切换和关闭(拖换Tab页次序功能后期可以试试加上)。

Tab页内的内容是一个Angular的组件,在Tab页切换的时候要求组件状态保持(不重新加载,即组件数据不丢失)。

辅助菜单完成的功能是对主业务界面的具体数据进行 *** 作,比如主业务是“用户管理”,显示的是用户数据表,辅助菜单显示的就是用户数据表的具体某一行的内容(如姓名、工号、电话……)。

辅助菜单根据主业务表显示的组件动态切换内容,也要求状态保持。

分为左中右三部分,左侧导航和右侧辅助菜单分别是一个组件。

使用 mat-tab-group 标签实现,Tab页内加载组件通过正常的前端路由实现。

状态保持通过自定义路由策略( RouteReuseStrategy )实现。

通过辅助路由实现,难点在于主业务部分与辅助菜单部分传值方式。

根据具体业务逻辑,加载不同的主路由与辅助路由,辅助路由部分同样采用自定义路由策略来实现状态保持。

moduleName 定义的是这个总的JSON对象中模块所对应的键名, moduleParams 是具体存数据的结构。下面说明一下每个存储结构具体的含义:

首先我们使用工具建立一个文件夹名称为ng-repeat。然后在文件夹内建立两个文件分别为index.html,index.js。index.html根据截图编写界面模板。具体如图所示。

然后再index.html引入angularjs文件以及index.js文件。加入两行。分别为:

<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>

<script src="index.js"></script>

然后编写index.js。文件。文件内容为:

var app = angular.module("myApp",[])

app.controller('simpleController',function($scope)

{

$scope.sites = [

{name:'百度',path:'www.baidu.com'},

{name:'新浪',path:'www.sina.com.cn'},

{name:'腾讯',path:'www.qq.com'}

]

})

然后再index.html文件内,定义angularjs的管理域,本篇为从html开始即为angularjs的管理域。然后编写核心处代码,代码为:

<div ng-controller="simpleController">

<ul>

<li ng-repeat="site in sites">

编号:{{$index+1}} ----网站名称:{{site.name}}----网站地址:{{site.path}}

</li>

</ul>

</div>

最后点击运行index.html,本篇以google chrome浏览器打开。即可看到效果。是不是很神奇啊!!!

另外在此处还支持输入

{{$first}}意思为判断是否为第一个 返回结果为true/false。

{{$middle}} 判断是否为中间部分,返回结果为true/false。

{{$last}} 判断是否为最好一个,返回结果为true/false。

{{$even}} 判断是否为偶数,返回结果为true/false。

{{$odd}} 判断是否为单数,返回结果为true/false。

原理:

使用Angular2的命名路由插座,一个用来显示app正常的使用,一个用来显示d出框

浏览器的导航栏中则这样显示

路由配置

toast内容

创建用来跳转至popup路由的服务,例如popup.service

使用:

一、在app.module.ts中将服务导进来,注册

二、在使用的test.ts中导入

原文链接: https://blog.csdn.net/zhy13087344578/article/details/80930564


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11785414.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存