没有错误。
我能够访问/团队中的团队列表以及/ teams / 2中的特定团队,其中2是团队的ID。
$stateProvider.state('app.teams.team', {
url: '/:team',
templateUrl: 'templates/teams/team.html',
controller: 'TeamCtrl',
resolve: {
team: function($stateParams, TeamsService) {
return TeamsService.getTeam($stateParams.team)
}
}
})
我无法访问/ teams / 2 /名册上的名单。
$stateProvider.state('app.teams.team.roster', {
url: '/roster',
templateUrl: 'templates/teams/roster.html'
})
页面加载时没有错误,并显示templates/teams/team.html
而不是templates/teams/roster.html
答案 0 :(得分:0)
问题在于你对状态继承的处理方式。
使用当前配置:
app.teams.team州希望网址为http:// app.teams网址 /:team
和
app.teams.team.roster州期望网址为http:// app.teams.team网址 /名册
每个孩子都希望父状态持有一个ui-view指令,这样就可以注入templateUrl。
这意味着对于名册状态你有app.teams htmls,包含团队html,包含名册html。
要在相同级别下加载不同的html,请保持相同的租用级别 - >
app.teams.team
app.teams.roster
答案 1 :(得分:0)
我最终让名册成为了自己的状态,按预期运作。
$stateProvider.state('app.roster', {
abstract: true,
url: '/teams/:team/',
views: {
content: {
template: '<ion-nav-view></ion-nav-view>'
}
},
resolve: {
team: function($stateParams, TeamsService) {
return TeamsService.getTeam($stateParams.team)
}
}
})
$stateProvider.state('app.roster.index', {
url: 'roster',
templateUrl: 'templates/roster/index.html',
controller: 'TeamCtrl',
})