AngularJS - 使用$ route.routes创建速记路由

时间:2015-06-02 10:23:00

标签: javascript angularjs angularjs-routing

Plnkr

我正在将AngularJS从1.1.5迁移到1.2.27。在旧版本中,我能够使用速记路线,即

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

app.config(['$routeProvider', function($routeProvider){
   $routeProvider
     .when('/show/:list/:type', {templateUrl: 'product.html', controller: 'product_controller'})
     .otherwise({redirectTo: '/show/product'});
}]);

app.controller('app_controller', ['$route', function($route){
   $route.routes['/show/product'] = {
      redirecTo: 'show/product/active'
   };
   $route.routes['/show/user'] = {
      redirecTo: 'show/user/active'
   };
}]);

在上面的代码中,当用户输入网址' show / product'时,它会重定向到路线' show / product / active'发生在1.1.5中,但这似乎不适用于1.2.X。

你有什么想法,为什么它不起作用?

我脑子里有一个解决方案,

app.run(['$rootScope', function($rootScope){
    $rootScope.$on('$routeChangeStart', function(event, current_route, previous_route){
       //do the conditional redirection using $location.path();
    }
}]);

这个想法看起来有意义并且有效吗,有任何建议或帮助吗?

0 个答案:

没有答案