始终在ng-view之外显示1个视图 - angular

时间:2017-09-14 18:54:22

标签: angularjs

我有以下控制器,我希望 CategoryController 的模板显示在所有页面上(即包含所有其他视图)。该应用程序显示具有此控制器的所有类别,当您单击某个类别时,它会显示该类别中的所有书籍,然后当您单击书籍时,它会显示书籍详细信息。我希望始终显示类别,这可以用ng-include吗?

app.config(function ($routeProvider) {
  $routeProvider
    .when('/books', {
        controller: 'BookshelfController',
        templateUrl: 'views/bookshelf.html'
  })
    .when('/books/:bookId', {
        controller: 'BookController',
        templateUrl: 'views/book.html'
  })
   .when('/categories', {
      controller: 'CategoryController',
      templateUrl: 'views/categories.html'
  })
  .when('/categories/:categoryId', {
    controller: 'BookCategoryController',
    templateUrl: 'views/booksincategory.html'
})
    .otherwise({
        redirectTo: '/books'
  });
});

HTML

  <div class="main">
      <div class="container">
          <div ng-view></div>
      </div>
    </div>

1 个答案:

答案 0 :(得分:0)

正如@Hadi所说,使用angular-ui-router,或者为什么不将控制器直接放在视图上,无论如何应该在每个页面上显示?

<div class="main">
  <div class="container"> 
      <div ng-controller="CategoryController"></div>
      <div ng-view></div>
  </div>
</div>