Javascript AngularJS/UI路由器:站点部分是否需要嵌套视图?
我有一个使用AngularJS1.4.9和ui路由器0.2.18制作的现有应用程序 index.html页面列出了3个ui视图,整个应用程序共享这些视图:Javascript AngularJS/UI路由器:站点部分是否需要嵌套视图?,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,我有一个使用AngularJS1.4.9和ui路由器0.2.18制作的现有应用程序 index.html页面列出了3个ui视图,整个应用程序共享这些视图: 标题 场地主体 页脚 每个现有部分的每个登录页都包含一个ui视图。路线: angular.module('pb.ds.hamburger').config(function($stateProvider) { $stateProvider.state('hamburger', { abstract: true, url: '/ha
- 标题
- 场地主体
- 页脚
ui视图
。路线:
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中定义的页眉和页脚以及站点
视图中的汉堡内容
这个新的部分要求我加载不同的标题和页面结构,但是像以前一样从主ui视图中的路由加载视图
正确的方法是什么?我的主管告诉我创建一个全新的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>
但我没有看到这一点,而是看到了索引中定义的支出:一个带有默认页眉、空内容视图和页脚的页面。我不知道我是否完全理解了你的问题,但现在看来,页眉+正文取决于url,而不仅仅是正文。如果是这样,您可以将标题和正文都放入根目录中的ui视图中,然后使用命名视图逐状态填充它们。出于各种原因,我不允许对根应用程序进行重大更改。我必须把我的部分添加到那里。。。