AngularJS / UI-Router:网站部分需要嵌套视图吗?

时间:2016-02-10 14:33:34

标签: javascript angularjs angular-ui-router

我有一个使用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>

但不是看到这个,我只是看到索引中定义的支付:一个包含默认标题,空内容视图和页脚的页面。

0 个答案:

没有答案