宝哥软件园

angularjs分层使用ui-router的详细说明

编辑:宝哥软件园 来源:互联网 时间:2021-09-04

最近感觉学习棱角分明的童鞋很多,在走线问题上怎么用还不清楚。其实我以前也是头晕,不知道怎么用。现在好多了。这里记录了用户界面路由器的使用。

介绍如何使用到目前为止已经完成的这个项目。注:最好按照层次规则设置路由名称,便于理解和管理。

这里,我使用总状态到模块状态,然后到下一个模块状态(然后到下一个模块状态),最后到详细页面状态。

首先,我们定义一个通用状态,例如:州(' home ',{ url: '/home?Backkey ',//abstract:true,templateurl3360' home/home.html ',controller:' homeCtrl'})在homeCtrl中可以为空,具体取决于需求。因为这是顶层状态,所以必须依赖angular.module中的下一级路由angular.module,如果有多个模块,应该相互依赖,用逗号隔开。在这里,我们应该依靠一个模块来解释。例如,var m=angular . module(' ms . home router ',[' ms . HR router ']);

必须有一个ui-view/作为home.html的祖先模板。好了,这里我们已经完成了顶层的工作,现在开始各个模块的路由分配。

上面已经提到ms.hrRouter的一个模块依赖于它。现在,以此为例说明配置:在这个模块中创建新的js文件,并定义一个名为ms.hrrouter的angular.module.

var m=angular . module(' ms . hrrouter ',[' ms . hrissionouter ']);这是hr的模块,其中有这个模块的子模块。angular.module的名字就靠它了。在本模块的路由中,首先配置通用路由,然后在此路由下划分下一个模块(或子页面)的路由。状态(' home.hr ',{ url: '/hr ',template: 'ui-view /',controller: 'hrCtrl' })。state(' home . HR . suission ',{ URL : '/suission ',template: 'ui-view /',controller : ' hrNextCtrl ' })});解释一下上面的代码:state的名字是home.hr,表示这是hr模块中的顶级路由。它的模板是' ui-view/',意思是抽象。如果路由位于此处,其显示内容实际上是在首页图层页面的ui-view中,这里的hrCtrl内容也可以为空,具体取决于需求,但必须定义控制器,否则会报错(以上首页也是如此)。接下来解释一下下面这条名为home . hr . dismission的路由:从名字可以看出这条路由是HR模块的下一个模块,名为suission。url对象也是这个模块的名称,这样就可以直接看到它在浏览器地址中是哪个模块和哪个层。模板和控制器与上面解释的相同。

到目前为止,已经完成了从顶层路由首页到hr模块再到辞退模块的路由描述。

从现在到解雇模块中的详细信息页面的路由配置:也在解雇模块中创建新的路由js文件。该模块的角度模块配置为var m=angular。模块(' ms.hrdissessionrouter ',[]);

因为这是最低的路由,不再有子路由依赖,所以下面的[]为空。此页面上的状态配置如下:state(' home . HR . submission.common approval ',{ url: '/commonApproval?taskIdopeniddoType ',template URLs : ' HR/sissionappl/sissionappl . html ',resolve : { disrsl : getResolve()},controller : ' sissionapplctrl ' })]);从州名也可以看出,这是在解散模块的子层。url也是此页面的路由名称和此页面需要采用的参数。此处解析的目的是在加载页面之前执行getResolve()方法。这种方法的目的是获取数据,即在进入页面之前获取页面的数据,获取页面的所有数据后再跳转到该页面。如果不懂解析属性,可以百度一下,或者我的博客里有介绍,可以看看。

好吧。可能不是很清楚,但大致思路是这样的。

Note:最好在每个模块中创建两个js文件,一个是router.js,一个是controller.js,很容易管理。

这是对应于模块层次结构的文件层次结构。

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

更多资讯
游戏推荐
更多+