Angular UI Router - 任何多次引用相同url变量的方法?

时间:2016-03-14 12:33:50

标签: angularjs angular-ui-router angular-ui-router-extras

我想实现ui路由器状态的有限网络(它是客户端需要的),嵌套的最大深度可以是固定值(例如10)因此我希望我的状态看起来像这样: / p>

.state('page',{url:'page/{pageName}',templateUrl:...)
.state('page.page',{url:'/{pageName}',templateUrl:...)
.state('page.page.page',url:'/{pageName},templateUrl:...)
etc...

最后,我希望用户能够输入以下网址:

'/page/page1/subpage1'
'/page/page2/subpage1/subsubpage2'
'/page/page3'
etc...

显而易见的问题是,ui路由器将覆盖每个(子)状态的'pageName'变量,因此在导航到/page/page1/subpage1后,我只会在状态'页面中设置{pageName:'subppage1'}变量'和'page.page'。

在整个应用程序中,ui-sref只会使用RELATIVE状态,所以当我处于'page'状态时,我会进入'page.page'状态,依此类推。我希望能够根据需要在状态层次结构中向上或向下移动页面的html视图,我希望在这种情况下不要更改每个ui-sref调用(现在我必须更改变量名称,因为它必须在每个州都有不同的名称)

有没有可能实现我想要的方案?我已经尝试将'pageName'定义为数组类型,但它似乎不起作用(每个子状态都被覆盖)。使用自定义ui路由器类型似乎也不起作用,因为它无法修改stateParams对象,只返回单个url值的表示(因此'pageName'也被覆盖)。 Ui路由器附加功能似乎也没有帮助,或者我可能错过了一些东西。

0 个答案:

没有答案