У меня есть приложение с угловым js, использующее разные состояния, моя первая страница - это страница входа в систему, и она содержит ссылку на забытый пароль, при щелчке забытого pwd приложение будет перенаправлено на заброшенную страницу pwd, после успешного входа в систему на панели инструментов появляются сценарии являются:Получение неправильных состояний при нажатии кнопки «Назад» в браузере в угловом режиме?
, когда я нахожусь на странице входа и нажимаю кнопку браузера назад, я буду перенаправлен только на страницу входа.
Когда я нахожусь на забытой странице pwd и нажимаю кнопку «назад», я буду перенаправлен на страницу входа, так как это первая страница моего приложения.
проблема, с которой я столкнулся, - это когда я перезагружаю страницу с забытым паролем и нажимаю кнопку браузера назад, я перенаправляюсь на страницу входа в систему и снова нажимаю кнопку «Назад», приложение перенаправляется на панель управления, даже не войдя в приложение, i я не получаю, где я ошибаюсь, ставя свои состояния. любезно помочь
здесь мой router.js внутри модуля приложения, здесь маршрута по умолчанию означает панель
.config(['$stateProvider', '$urlRouterProvider', 'DEFAULT_ROUTE', function($stateProvider, $urlRouterProvider, DEFAULT_ROUTE) {
$urlRouterProvider.otherwise(DEFAULT_ROUTE);
// application start point
$stateProvider
.state('app', {
url: '',
abstract: true,
templateUrl: 'src/app/templates/base.html',
controller: 'AppController'
});
}])
.run(['$rootScope', '$location', 'Auth', 'DEFAULT_ROUTE', function($rootScope, $location, Auth, DEFAULT_ROUTE){
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
if(!Auth.session() && $location.path() != '/forgot'){
$location.path('/login');
} else {
if($location.path() == '/login') {
//$location.path(DEFAULT_ROUTE);
$location.path('/login');
}
else if($location.path()=='/forgot'){
$location.path('/forgot');
}
}
});
}])
вот моя маршрутизация для модуля авторизации:
config(['$stateProvider',function($stateProvider){
$stateProvider
.state('app.login', {
url: '/login',
views: {
"content": {
templateUrl: 'src/login/templates/login.html',
controller: 'loginController'
}
}
})
.state('app.forgotPassword', {
url: '/forgot',
views: {
"content": {
templateUrl: 'src/login/templates/forgotPassword.html',
controller: 'forgotPasswordController'
}
}
})
}]);
У меня есть служба аутентификации, которая хранит данные в локальном хранилище, но это делается только после входа в систему. – Anky