如何将路段的一部分映射到routeParams?

时间:2014-10-16 17:38:43

标签: angularjs angularjs-routing

假设我有两条路由已定义,由同一视图和控制器提供服务,例如

  • / customers /:cutomerId / edit
  • /客户/添加

在控制器中我需要确定在哪个“模式”中查看。如何映射路径的“编辑”和“添加”段,使其出现在$ routeParams中。有办法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用路由解析来解决它。

例如:

myApp.config(function($routeProvider) {
  $routeProvider
   .when('/customers/:cutomerId/edit', {
    templateUrl: 'myView.html',
    controller: 'MyController',
    resolve: {
      mode: function() {
        return 'edit';
      }
    }
  })
  .when('/customers/add', {
    templateUrl: 'myView.html',
    controller: 'MyController',
    resolve: {
      mode: function() {
        return 'add';
      }
    }
  });

myApp.controller('MyController', function($scope, mode){
   // Now controller knows it's mode.
});