全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

详解angularjs 关于ui-router分层使用

最近感觉有很多学angular 的童鞋在路由问题中还不清楚怎么使用。其实我之前也是一直晕晕的不懂怎么用,现在要好得多了。在这里就记录下ui-router使用。

就已目前做的这个项目来介绍下怎么使用吧。Note:最好是按照层次规则来设置路由名,好处是容易看懂,也便于管理。

我这里是以总state到模块state再到下一层模块state(再到下一层模块state)最后到详细页面的state来分层。

首先我们先定义一个总的state如:

.state('home', {
      url: '/home?backKey',
//     abstract: true,
      templateUrl:'home/home.html',
      controller:'homeCtrl'
    })

在homeCtrl中可以为空,看需求吧。因为这个是最顶层的state所以在angular.module中一定要把下一层的路由angular.module依赖进来。如果有多个模块那就分别依赖进来,用逗号隔开,这里就依赖一个模块来说明下。如var m = angular.module("ms.homeRouter", ['ms.hrRouter']);

而在home.html中必须要存在一个<ui-view/> 作为祖模板。好了到这里就已经把最顶层的工作内容完成了,现在开始各个模块路由分配。

上面已经说到一个ms.hrRouter的模块依赖进来,现在就已这个为例来说明下配置:在这个模块中新建个js文件,定义一个angular.module,名字就是ms.hrRouter。

var m = angular.module("ms.hrRouter", [
  'ms.hrDismissionRouter']);

这个就是hr的模块,在这模块中又有该模块的子模块。angular.module名依赖进来,在这模块的路由中先配置下总路由,然后再在该路由下分下一层模块(或者子页面)路由。

.state('home.hr', {
        url: '/hr',
        template: '<ui-view />',
        controller: 'hrCtrl'
      })
      .state('home.hr.dismission', {
        url: '/dismission',
        template: '<ui-view />',
        controller: 'hrNextCtrl'
      })
      });

说明下上面的代码:state名为home.hr说明这个是在hr模块中的顶层路由。其template为'<ui-view />' 意思是抽象的,如果路由定位这里其显示内容其实是在home层页面中的ui-view中,这里的hrCtrl内容也可以为空,看需求,但必须要定义出这个控制器否则会报错(上面home的也是一样)。接着来解释下下面state名为home.hr.dismission路由:从名字就可以看出来这个路由就是hr模块的下一层模块,名为dismission。而url对象也是这模块的名字,以便在浏览器地址中可以直接看出是在哪模块哪层哪里。template、controller两个属性跟上面解释是一样的。

到现在已经完成了顶层路由home到hr模块路由再到dismission模块路由说明。

now到dismission模块中的详情页面的路由配置:在dismission模块中也新建一个路由js文件。这个模块的angular.module配置为var m = angular.module("ms.hrDismissionRouter", []);

因为这个是最底层的路由了已经再也没有子路由依赖了,所以后面的[]中是空的。在这页面中的state配置如:

.state('home.hr.dismission.commonApproval', {
      url: '/commonApproval?taskId&openid&doType',
      templateUrl: 'hr/dismissionAppl/dismissionAppl.html',
      resolve: {
        dismRsl: getResolve()
      },
      controller: 'dismissionApplCtrl'
    })
]);

从state名字也可以看出,这个是在dismission模块的子层。url也是这个页面的路由名,以及这个页面需要带的参数。这里的resolve的作用是在页面加载前先执行getResolve()方法。该方法的目的是获取数据,达到进该页面前先获取到该页面的数据,等到该页面的所有数据都获取完后再跳转到该页面。这个resolve属性不懂的可以百度,或者我博客中也有篇介绍的,可以看看。

好了!可能说得不是太明白但总体思路就是这样。

Note: 最好是在每层模块中都新建两个js文件,一个是router.js一个是controller.js这样好管理。 这是模块分层对应的文件分层。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# angular  # 分层  # angularjs  # ui  # router分层  # AngularJS路由Ui-router模块用法示例  # 详解AngularJS1.6版本中ui-router路由中/#!/的解决方法  # 详解angularJs模块ui-router之状态嵌套和视图嵌套  # 详解AngularJs ui-router 路由的简单介绍  # angularjs ui-router中路由的二级嵌套  # AngularJS ui-router (嵌套路由)实例  # 浅析angularJS中的ui-router和ng-grid模块  # Angularjs中UI Router的使用方法  # Angularjs中UI Router全攻略  # AngularJS 使用 UI Router 实现表单向导  # 深究AngularJS之ui-router详解  # 是在  # 在这  # 下一层  # 再到  # 好了  # 到该  # 不懂  # 前先  # 这是  # 完成了  # 在这里  # 也有  # 在这个  # 那就  # 多个  # 必须要  # 有很多  # 还不  # 又有  # 而在 


相关文章: 义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  网站插件制作软件免费下载,网页视频怎么下到本地插件?  青岛网站建设如何选择本地服务器?  家具网站制作软件,家具厂怎么跑业务?  建站主机与虚拟主机有何区别?如何选择最优方案?  建站之星2.7模板:企业网站建设与h5定制设计专题  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  Python多线程使用规范_线程安全解析【教程】  如何通过宝塔面板实现本地网站访问?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  建站之星代理如何获取技术支持?  定制建站方案优化指南:企业官网开发与建站费用解析  jQuery 常见小例汇总  如何在IIS服务器上快速部署高效网站?  建站之星×万网:智能建站系统+自助建站平台一键生成  西安大型网站制作公司,西安招聘网站最好的是哪个?  如何用IIS7快速搭建并优化网站站点?  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  网站制作软件有哪些,制图软件有哪些?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  建站VPS能否同时实现高效与安全翻墙?  javascript中对象的定义、使用以及对象和原型链操作小结  建站org新手必看:2024最新搭建流程与模板选择技巧  制作网页的网站有哪些,电脑上怎么做网页?  建站之星上传入口如何快速找到?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  如何在七牛云存储上搭建网站并设置自定义域名?  深圳网站制作的公司有哪些,dido官方网站?  专业网站建设制作报价,网页设计制作要考什么证?  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  小型网站建站如何选择虚拟主机?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何通过商城免费建站系统源码自定义网站主题?  XML的“混合内容”是什么 怎么用DTD或XSD定义  建站主机助手选型指南:2025年热门推荐与高效部署技巧  如何将凡科建站内容保存为本地文件?  中山网站制作网页,中山新生登记系统登记流程?  网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?  如何选择适配移动端的WAP自助建站平台?  如何在宝塔面板中修改默认建站目录?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  建站为何优先选择香港服务器?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何打造高效商业网站?建站目的决定转化率  C++如何使用std::optional?(处理可选值)  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。