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

时间:2016-03-27 01:45:34

标签: angularjs routes ngroute

我有一个教程中的代码,该教程路由到与应用程序中主要文档类型相关的所有页面:

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序列中吗?或者可能是新文件或新功能来处理全新类型内容的路由?

1 个答案:

答案 0 :(得分:0)

关于“新类型文档”和新“内容类型”的评论将我抛弃。您仍然只是路由到HTML文档/内容。它可能是您网站的不同部分,这就是我认为您对这些声明的意思。

说明你如何设置路由取决于你,但没有理由你不能在同一个“when”集合中将路由添加到约会页面。我喜欢在同一个地方的所有路线进行维护和查看。但是,根据您的应用程序的大小,可能会使您的路由文件难以处理。因此,这是一种个人偏好和条件驱动。

也就像一个FYI。我会看一下使用UI-Router而不是默认的Angular路由器。它有更多的力量,但这只是你的思考。