是否可以仅允许routeProvider中的某些选项使用angularjs?
例如,如果我有:
$routeProvider.when('/:action/view/', {
我是否只允许('篮球'棒球')将此操作设置为匹配?
答案 0 :(得分:0)
如果不允许路由呼叫,您可以使用路由的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';
}
}
}
答案 1 :(得分:0)
未经测试,但您可以收听$ routeChangeStart,它会在路由更改之前调用,使用" next"和"当前"路由参数以确定是否允许未来路由。如果没有,请执行$ location.path将它们设置回当前路径。