我有两个命名视图和一个未命名的视图如下:
//department.html
<div class="col-md-2">
<div ui-view="sideBar"></div>
</div>
<div class="col-md-10">
<div ui-view="content"></div>
<div ui-view></div>
</div>
我的路线:
.state('Support', {
url: '/support',
views: {
'': { templateUrl: 'app/components/department/department.html' },
'sideBar@Support': {
templateUrl: 'app/shared/sideBar/sideBar.html',
controller: 'SideBarController'
},
'content@Support':{
templateUrl: 'app/components/department/support/partial-support.html',
controller: 'SupportController'
},
}
})
.state('Support.view', {
url: '/view',
template: '<b> Hi there nested!!</b>'
});
我需要什么:
localhost/support
:这是一个父网址,在该网址中注入两个命名视图(sideBar和content),这对我有用。localhost/support/view
:在此路由器中,我想要一个子视图,它将替换content
视图或替换两个视图。 问题是: 我无法使嵌套视图正常工作,我做错了什么?
PS:我已经阅读了ui-router doc并看到了其他问题,我找不到任何类似的情况。
答案 0 :(得分:1)
当没有启用html5Mode时,您的方案正在运行。有a working plunker。
我刚刚使用了这些链接:
<a ui-sref="Support">
<a ui-sref="Support.view">
状态是 - 有效。
如果您启用了html5Mode,则还必须配置服务器。但正如this updated plunker所示,即使启用了html5Mode,它也会再次运行
$locationProvider.html5Mode({enabled: true});
检查版本