我试图让我的嵌套路线工作,但现在给我两天的困难时间:(
一个级别正常
两个级别正常
三个级别无效!
任何人都可以帮帮我吗?
提前致谢
angular.module('settings', []).config(['$stateProvider', '$routeProvider', '$urlRouterProvider', function($stateProvider, $routeProvider, $urlRouterProvider) {
$stateProvider
.state('settings', {
url: '/settings',
template:"Settings",
controller: function(){
console.log('settings');
}
}).
state('settings.branch', {
url: '/{branchId:[0-9]{1,8}}',
template:"Branch",
controller: function(){
console.log('branch');
}
}).
state('settings.branch.prop', {
url: '/prop',
template:"Property",
controller: function(){
console.log('property');
}
});
}]);
'/ settings'正在运作
'/ settings / 1234'正在运作
'/ settings / 1234 / prop'不起作用,总是返回普遍状态'Branch'
答案 0 :(得分:12)
我猜你没有在分支模板
中声明一个ui-view答案 1 :(得分:1)
我有同样的问题。对于settings.branch.prop
,请尝试将url
设置为:
url: '/{branchId:[0-9]{1,8}}/prop'
答案 2 :(得分:0)
我们遇到了类似的问题。刚刚找到一个解决方案(不是很漂亮的想法)
所以我们有
/b2c/applicationShow --> applicationShowController (b2c.applicationShow) with an /:id
/b2c/applicationShow/9238490392084/details --> detailsController (b2c.applicationShow.details)
/b2c/applicationShow/9238490392084/details/someApp --> someAppController (b2c.applicationShow.details.someApp)
/b2c/applicationShow/9238490392084/details/someApp/someTab --> this has no controller, only declare the previous one as parent.
那么我们是如何从/ b2c / applicationShow转发的呢? / b2c / applicationShow / 9238490392084 / details / someApp / someTab(有一个列出所有应用程序的表,然后单击一个链接,假设将您带到该特定选项卡)
我们一个接一个地转发它们。
$state.go(b2c.applicationShow , {id: 9238490392084})
然后在detailsController
中$state.go(b2c.applicationShow.details.someApp);
然后在someAppController
中$stage.go(b2c.applicationShow.details.someApp, {tab: someTab});
基本上状态机将采用最后一条路径,然后追加,然后继续。好吧,就像我说的那样,它并不漂亮,但完成了工作。希望能帮助到你。
答案 3 :(得分:0)
尝试使用属性ui-view围绕分支视图内容包装div,如此,
<div ui-view>
branch content goes here .....
......
</div>
为我做了诀窍!