2014-10-18 2 views
0

Я использовал $ routeProvider. Как вы знаете, он инициализируется в конфигурационных модулях до запуска приложения. Но я не знаю тип пользователя при инициализации. После загрузки config запускается приложение, и я получаю информацию о пользователе на маршруте начальной загрузки (страница загрузки).

В моем приложении 4 пользовательских типа. И я хотел бы установить разные маршруты по умолчанию для этих разных типов.

Например,

Если загруженное UserType является владельцем, то маршрут по умолчанию должен быть

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

Если загруженное UserType является Администратор, то маршрут по умолчанию должен быть

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

в $ routeProvider были настроены до и маршрут по умолчанию был установлен. Можно ли изменить это значение? Или у вас есть идеи решить эту проблему?

+0

«иначе» функция на $ routeProvider , а не на $ route. $ route и $ routeProvider - разные. –

ответ

0

решает такие вопросы, как это с помощью Front-контроллер: сделать иначе перенаправление к нему и там внутри проверьте конфигурацию и на основе этого сделать переназначение так:

var PATHS={admin : 'admindashboard', owner : 'ownerdashboard'} 
var role = configService.getRoleOfCurrentUser(); 
$location.path(PATHS[role]); 
Смежные вопросы