安装程序使用 Angular v1.5.8 和 ui-router v0.3.1 。我的根视图有几个命名部分(为了简洁起见,我删除了其中的一些部分)。看起来像这样
<section id="container">
<div id="main">
<div id="overlay">
<section id="overlay__content" ui-view="overlay"></section>
</div>
<div id="content">
<section id="content__content" ui-view="content"></section>
</div>
</div>
</section>
我的状态控制器看起来像这样
$stateProvider
.state('app',{
url: '/',
abstract: true,
views: {
'overlay': {
templateUrl: partialsUrl + 'main.overlay.html', // <-- content below
controller: 'OverlayController',
controllerAs: 'vm'
}
}
})
.state('app.foo', {
url: 'foo',
views: {
'content@': {
templateUrl: partialsUrl + 'foo.main.html',
controller: 'FooController',
controllerAs: 'vm'
}
}
})
.state('app.foo.add', {
url: '/add',
views:{
'content@overlay':{ // <-- DOES NOT WORK
templateUrl: partialsUrl + 'foo.add.html',
controller: 'FooAddController',
controllerAs: 'vm'
}
}
})
我的叠加视图模板(main.overlay.html
)看起来像这样
<a class="close">×</a>
<div ui-view="content"></div> <!-- <-- LOAD CONTENT INTO HERE -->
我想做的是当app.foo.add
状态被启动以将内容加载到content
的部分overlay
根命名视图。我可以使用访问根内容视图content@
成功地作为此处描述 https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views。然而,似乎没有任何关于深入探讨国家观点的文献。理想情况下我会想象我想要类似的东西content@app(overview)
(假如说()
允许您选择一个命名视图然后进入它,或者也许content@app@overview
。两者都不起作用。
任何有关解决方案或我缺少的基本内容的建议将不胜感激