是否可以从位置或网址中删除两个参数之间的参数?

时间:2017-03-13 05:18:36

标签: angularjs

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。

0 个答案:

没有答案