在 Angular 1 中路由多种样式的页面以及多个视图

Routing multiple style of pages along with multiple views in Angular 1

我从教程中获得了这段代码,该教程路由到应用程序中与主要文档类型相关的所有页面:

angular.module('loc8rApp', ['ngRoute', 'ngSanitize', 'ui.bootstrap']);

  function config ($routeProvider, $locationProvider) {
    $routeProvider
      .when('/', {
        templateUrl: '/home/home.view.html',
        controller: 'homeCtrl',
        controllerAs: 'vm'
      })
      .when('/about', {
        templateUrl: '/common/views/genericText.view.html',
        controller: 'aboutCtrl',
        controllerAs: 'vm'
      })
      .when('/location/:locationid', {
        templateUrl: '/locationDetail/locationDetail.view.html',
        controller: 'locationDetailCtrl',
        controllerAs: 'vm'
      })
      .when('/register', {
        templateUrl: '/auth/register/register.view.html',
        controller: 'registerCtrl',
        controllerAs: 'vm'
      })
      .when('/login', {
        templateUrl: '/auth/login/login.view.html',
        controller: 'loginCtrl',
        controllerAs: 'vm'
      })
      .otherwise({redirectTo: '/'});

    // use the HTML5 History API
    $locationProvider.html5Mode(true);
  }

  angular
    .module('loc8rApp')
    .config(['$routeProvider', '$locationProvider', config]);

我想扩展路由以涵盖不同类型的文档。例如,约会。因此,约会列表以及约会的详细信息页面。我会把所有这些新风格的路线放在这个 $routeProvider.when 序列中吗?或者可能是一个新文件或新函数来处理这种全新类型内容的路由?

关于 "new type of document" 和新的 "type of content" 的评论让我失望。您仍然只是路由到 HTML document/content。它可能是您网站的不同部分,这就是我认为您所说的那些陈述的意思。

话虽如此,您如何设置路线取决于您,但您没有理由不能将路线添加到同一 "when" 集合中的约会页面。我喜欢我所有的路线都在同一个地方进行维护和可见性。但是,根据您的应用程序的大小,可能会使您的路由文件难以处理。所以有点个人喜好,有条件地推动。

也仅供参考。我会考虑使用 UI-Router 而不是默认的 Angular 路由器。它具有更多功能,但这只是您思考的问题。