是否可以只允许使用 angularjs 在 routeProvider 中进行某些选择?

例如,如果我有:

$routeProvider.when('/:action/view/', {

我可以只允许 ('basketball', 'baseball') 作为将其设置为匹配的操作吗?

最佳答案

您可以使用路由的 redirectTo 属性在不允许路由调用的情况下重定向用户:

$routeProvider.when('/:action/view/',{
    redirectTo: function(routeParams, locationPath, locationSearch){
        var allowed = ['baseball','basketball'];        //allowed action param

        if(allowed.indexOf(routeParams.action) != -1){  //route is allowed don't redirect
            return null;
        }
        else{                                           //route is denied redirect to home
            return '/home';
        }
    }
}

关于angularjs - Angular routeProvider 的一组声明参数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30859288/

10-13 06:52