1

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

.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我之后,状态“page”和“page.page”中只会设置 {pageName:'subppage1'} 变量。

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

有没有可能实现我想要的场景?我尝试将“pageName”定义为数组类型,但它似乎不起作用(每个子状态都被覆盖)。使用自定义 ui 路由器类型似乎也不起作用,因为它不能修改 stateParams 对象,只返回单个 url 值的表示(因此“pageName”也被覆盖)。Ui-router extras 似乎在这里也无济于事,或者我可能遗漏了一些东西。

4

0 回答 0