【发布时间】:2016-08-29 07:53:02
【问题描述】:
安装程序使用 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 状态被启动以将内容加载到overlay 根命名视图的content 部分。我可以使用content@ 作为described here 成功访问根内容视图。但是,似乎没有任何关于深入了解一个国家的观点的文件。理想情况下,我想我会想要content@app(overview) 之类的东西(假设() 允许您选择一个命名视图然后进入它,或者可能是content@app@overview。两者都不起作用。
任何关于解决方案或我缺少的基本内容的建议将不胜感激
【问题讨论】:
标签: angularjs angular-ui-router