У меня есть состояния упоминаются какДоступ текущего состояния с помощью Угловой интерфейса маршрутизатора
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: '',
ncyBreadcrumb: {label: 'Home'},
data: {freeRoute: true}
})
.state('dashboard', {
url: '/',
templateUrl: 'views/login.html',
controller: '',
ncyBreadcrumb: {label: 'Dashboard'},
data: {authenticatedRoute: true},
})
Я хочу, чтобы запустить конфигурацию в случае, если страница обновляется, как этот
.run(function ($rootScope, $state, $stateParams, AUTH_EVENTS, dataService) {
if ($state.$current.data.authenticatedRoute == true) {
console.log('Authenticated Route.');
if (dataService.isAuthenticated()) {
$rootScope.$broadcast(AUTH_EVENTS.alreadyAuthenticated);
} else {
$rootScope.$broadcast(AUTH_EVENTS.notAuthenticated);
}
} else {
console.log('Not Authenticated Route.');
}
});
Но когда я попытался войти консоли на текущем состоянии мне это нравится ...
{"name":"","url":"^","views":null,"abstract":true}
- Как бы получить текущее состояние. в контроллере? Я также пробовал console.log($state.$current);
- Как я могу получить доступ и в представлениях, независимо от контроллера?
То, как я хотел бы использовать это не просто .run(), но слушатель на '$ rootScope $ на ('$ stateChangeStart'' ... проверьте его, например, здесь http://stackoverflow.com/a/26702638/1679310 –
Это было сделано с использованием $ stateChangeStart. Thanks – Sankalp
Действительно? ;) Замечательно. Наслаждайтесь могучим UI-Router, сэр –