我正在将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();
}
}]);
这个想法看起来有意义并且有效吗,有任何建议或帮助吗?