Javascript UI路由器中的双嵌套视图
使用angular ui,特别是使用Javascript UI路由器中的双嵌套视图,javascript,angularjs,angular-ui,angular-ui-router,Javascript,Angularjs,Angular Ui,Angular Ui Router,使用angular ui,特别是使用ui router模块来创建一些嵌套视图。我无法在局部中渲染局部: 嵌套如下所示: index.html -main.form.html -main.sidebar.html -sidebar.slider.html 我当前的app.js设置是: $stateProvider .state('main', { url: '/', views: {
ui router
模块来创建一些嵌套视图。我无法在局部中渲染局部:
嵌套如下所示:
index.html
-main.form.html
-main.sidebar.html
-sidebar.slider.html
我当前的app.js
设置是:
$stateProvider
.state('main', {
url: '/',
views: {
'sidebar': {
templateUrl: 'views/partials/main.sidebar.html',
views: {
'slider': {
templateUrl: 'views/partials/sidebar.slider.html'
}
}
},
'form': {
templateUrl: 'views/partials/main.form.html',
},
'tribute': {
templateUrl: 'views/partials/main.tribute.html',
},
'submit': {
templateUrl: 'views/partials/submit.html',
}
}
})
加载所有其他部分,我可以在浏览器中看到ui视图
指令加载,但实际部分没有呈现(div只包含ui视图=“sidebar.slider”
literal)
有什么想法吗?视图嵌套在一个状态内,通过视图名称(而不是对象嵌套)完成 假设
templateUrl
包含ui view=“slider”
,那么我们必须绝对地以该视图名称为目标
$stateProvider
.state('main', {
url: '/',
views: {
'sidebar': {
templateUrl: 'views/partials/main.sidebar.html',
},
// this view definition is on the same level
// but the absolute name says, that it should be searched
// inside of the 'main' state
'slider@main': {
templateUrl: 'views/partials/sidebar.slider.html'
},
...
这里的键是视图的名称slider@main,其中包含来自视图名称“slider”分隔符“@”和状态名称“main”。查看这些以了解更多详细信息: