我想实现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路由器附加功能似乎也没有帮助,或者我可能错过了一些东西。