Angular 1.6.1
此代码导致RangeError:超出最大调用堆栈大小,我无法想到实现此目的的任何其他方式。
路由器:
.when('/:var1/:var2/:var3', {
templateUrl : 'template.html',
controller: 'myCtrl',
resolve: {
var2: ['$route', 'serviceForVar2', function ($route, serviceForVar2) {
return serviceForVar2.getVar2($route.current.var2);
}]
}
})
.when('/:var1/:var3/', {
templateUrl : 'template.html',
controller: 'myCtrl'
})
myCtrl:
function($scope, $routeParams, $location, var2) {
if(!var2){
$location.path('/' + $routeParams.var1+ '/' +$routeParams.var3).reload(false);
}
}
所以例如我的当前位置是/ en-GB / partner / china,并且合作伙伴实际上是错误的,我想用相同的控制器将其重定向到/ en-GB / china。