Angularjs 用户界面路由器不';t加载所需的子状态
给定以下配置:Angularjs 用户界面路由器不';t加载所需的子状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,给定以下配置: $stateProvider .state('app', { url: '/app', abstract: true, templateUrl: 'templates/menu.html' }) .state('app.player', { url: '/players/:playerId', views: { 'menuContent': { templa
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html'
})
.state('app.player', {
url: '/players/:playerId',
views: {
'menuContent': {
templateUrl: 'templates/player.html',
controller: 'PlayerCtrl'
}
}
})
.state('app.player.lesson', {
url: '/lessons/:lessonId',
views: {
'menuContent': {
templateUrl: 'templates/lesson.html',
controller: 'LessonCtrl'
}
}
})
访问/app/players/2/lessons/8
时,app.player
状态被激活。为什么不使用app.player.lesson的状态?我遗漏了什么?有一项工作表明,我们必须
将模板URL:'templates/player.html'
的内容更改为包含
或
我们必须使用绝对视图命名:'menuContent@app"
片段
.state('app.player.lesson', {
url: '/chapter/:lessonId',
views: {
'menuContent@app': {
templateUrl: 'templates.lesson.tpl.html',
controller: 'LessonCtrl'
}
}
})
问题出在哪里?一个孩子玩家瞄准了ui视图
“menuContent”。孙子的目标是同名的ui视图--“menuContent”
但这些名称被转换为绝对路径。在本例中,它表示父视图中的视图。在'@'
符号的帮助下,我们可以添加自定义绝对路径
见:-
请注意,在“我将两者都显示”一课中,使用了父用户界面视图,而本章的目标是父用户…在player.html中有用户界面视图吗?或者你可以分享你的player.html吗