0

我尝试使用 Angular 和 Express 4 设置客户端路由。我使用指南ngView而没有 Express,这很好,但是当启用 Express 路由时,ngRoute 不起作用。如何设置 Express 以使其与 ngRoute 一起使用?

一点代码:

var app = angular.module('app', ['ngRoute']);

app.config(['$routeProvider', '$locationProvider',
  function($routeProvider, $locationProvider) {
    $routeProvider
      .when('/category/:catgegoryName', {
        templateUrl: 'category',
        controller: 'categoryController',
        controllerAs: 'category'
      })
      .when('/category/:catgegoryName/device/:deviceName', {
        templateUrl: 'device',
        controller: 'deviceController',
        controllerAs: 'device'
      })
      .otherwise({
        redirectTo: '/'
      });
    $locationProvider.html5Mode(true);
  }
]);

4

1 回答 1

1

由于您配置了 HTML5 模式,因此您无需在 Express 端复制相同的路由结构。相反,您需要确保服务器始终index.html响应配置和引导 Angular 应用程序的登录页面(通常)。

所以说路由/category/something服务器仍然以index.html. 然后 Angular 会解析 URL 并理解它需要注入与.when('/category/:catgegoryName', {...})路由对应的模板和控制器。

于 2015-05-24T13:50:46.643 回答