我正在研究角度路线,并在使用嵌套路线时遇到一些问题:
以下'abc'状态适用于route / admin / team /:teamId
.state('admin', {
url: '/admin',
controller: 'AdminController',
templateUrl: '/views/admin/index.html'
})
.state('admin.home', {
url: '/home',
parent: 'admin',
templateUrl: '/views/admin/dashboard.html'
})
.state('admin.team', {
url: '/team',
parent: 'admin',
controller: 'TeamController',
templateUrl: '/views/admin/team/index.html'
})
.state('abc', {
url: '/admin/team/:teamId',
// parent: 'admin.team',
controller: function($scope, $stateParams){
console.info('$stateParams.teamId', $stateParams.teamId);
},
templateUrl: '/views/admin/player/index.html'
});
但如果我将状态'abc'替换为以下内容,则播放器模板不会呈现并保持在admin / team / index.html上,甚至没有控制台输出,例如:
.state('admin.team.details', {
url: '/:teamId',
parent: 'admin.team',
controller: function($scope, $stateParams){
console.info('$stateParams.teamId', $stateParams.teamId);
},
templateUrl: '/views/admin/player/index.html'
});
无论如何,我有解决方法吗?
答案 0 :(得分:0)
试试这个
.state('admin.team.details', {
url: '/details/:teamId',
parent: 'admin.team',
controller: function($scope, $stateParams){
console.info('$stateParams.teamId', $stateParams.teamId);
},
templateUrl: '/views/admin/player/index.html'
});
答案 1 :(得分:0)
最后,我发现以下内容可行:
.state('admin.team', {
url: '/team',
parent: 'admin',
controller: 'TeamController',
templateUrl: '/views/admin/team/index.html'
})
.state('admin.team.details', {
url: '/team/:teamId',
parent: 'admin',
controller: 'PlayerController',
templateUrl: '/views/admin/player/index.html'
});
感谢所有人回答我。