我正在使用AngularJS和AngularUI模块构建一个包含多个视图的管理界面。
我有一个简单的公共页面布局,它有一个ui-view,另一个用于管理页面,有四个ui-views(页眉,侧边栏,主页,页脚)。
我遇到的问题是如果我设置了ui-view main,公共状态将不会显示登录视图,但如果我不设置ui-view main,则公共状态将显示登录视图。标题,侧边栏和页脚适用于任何设置。即使我试图设置绝对名称,似乎有些设置覆盖了另一个设置。有人能解释一下这里发生了什么吗?
视觉布局:
源代码(index.html):
<body>
...
<div ui-view="public">
</div>
<div class="admin">
<div ui-view="header"></div>
<div ui-view="sidebar"></div>
<div class="container" style="margin-top:60px" ui-view="">
<!-- ^ add main here -->
</div>
<div ui-view="footer"></div>
</div>
...
</body>
我设置了一个最小的完整代码示例来概述问题:
答案 0 :(得分:2)
我已经玩过你的演示了一下,看看ui-router documentation。
如果您更改了“公共”状态,如下所示,那么它似乎有用。
原件:
.state('public', {
url: '/login',
title: 'Login',
templateUrl: 'login.html'
})
更新:
.state('public', {
url: '/login',
views: {
'main@': {
title: 'Login',
templateUrl: 'login.html'
}
}
})
这是一个更新的plunkr: http://plnkr.co/edit/okBWMPpWysS9srKrcxeG?p=preview
您正在尝试做什么,或者您是否尝试将login
设置为嵌套视图?