在AngularJS $ routeProvider中更改否则对象的redirectTo值

时间:2014-10-18 17:15:04

标签: angularjs route-provider

我使用了$ routeProvider。如您所知,它在应用程序运行之前在配置模块中初始化。但是初始化时我不知道用户类型。加载配置后,应用程序运行,我在引导程序路径(加载页面)中获取用户信息。

我的应用中有4种用户类型。我想为这些不同的类型设置不同的默认路由。

例如;

如果加载的userType为Owner,则默认路由必须为

$routeProvider.otherwise({
    redirectTo: '/ownerdashboard'
});

如果加载的userType为Admin,则默认路由必须为

$routeProvider.otherwise({
    redirectTo: '/admindashboard'
});

之前已配置$ routeProvider并且已设置默认路由。是否可以更改此值?或者您有什么想法来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我使用Front-Controller解决了这样的问题:否则重定向到它并在里面检查配置,并在它的基础上进行重定向:

 var PATHS={admin : 'admindashboard', owner : 'ownerdashboard'}
 var role = configService.getRoleOfCurrentUser();
 $location.path(PATHS[role]);