我有一个使用angular js 1.4.9和ui-router 0.2.18的现有应用程序。
index.html页面列出了3个ui-views,整个应用程序共享:
每个现有部分的每个目标网页都包含ui-view
。路线:
angular.module('pb.ds.hamburger').config(function($stateProvider) {
$stateProvider.state('hamburger', {
abstract: true,
url: '/hamburger',
templateUrl: 'modules/hamburger/templates/hamburger.html',
controller: 'HamburgerController as burger'
})
加载根页:
.state('hamburger.overview', {
url: '/overview',
templateUrl: 'modules/hamburger/templates/hamburger-overview.html',
data: {
pageTitle: 'Full-Time Hamburger Menu - Overview',
access: 'public',
bodyClass: ''
}
显示index.html中定义的页眉和页脚以及site
视图中的汉堡包内容。
这个新部分要求我加载一个不同的标题和页面结构,但是像以前一样从主ui-view
中的路径加载视图。
这样做的正确方法是什么?我的主管告诉我创建一个全新的index.html,但我有一种感觉,我可以用视图来做到这一点......
我已经尝试了
angular.module('pb.ds.hamburger').config(function($stateProvider) {
$stateProvider.state('hamburger', {
url: '/hamburger',
templateUrl: 'modules/hamburger/templates/hamburger.html',
views: {
'newheader': 'modules/hamburger/templates/test1.html',
'body': 'modules/hamburger/templates/test2.html'
},
controller: 'HamburgerController as burger'
})
其中`hamburger.html是:
<div ui-view="newheader"></div>
<div ui-view="body"></div>
但不是看到这个,我只是看到索引中定义的支付:一个包含默认标题,空内容视图和页脚的页面。