Javascript AngularJS/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

我有一个使用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: '/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视图中,然后使用命名视图逐状态填充它们。出于各种原因,我不允许对根应用程序进行重大更改。我必须把我的部分添加到那里。。。