Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Продолжить переход при $stateChangeStart, Продолжить переход при $stateChangeStart 
:(
    Опции темы
chikistbuch
  Дата 13.8.2016, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 57
Регистрация: 15.3.2008

Репутация: нет
Всего: 1



Всем привет и спасибо за ответ))))) Суть вопроса: при изменении state проверяю, есть ли в его настройках параметр needAuth. Ну это не важно, по умолчанию для всех стэйтов нужна авторизация пользователя. Далее через сервис checkAuthService.checkAuth() посылается запрос на сервер, который возвращает statusCode == 200 если пользователь авторизован. При этом делаю опять state.on на этот же state, но уже добавляю параметр skip, чтобы не делать опять проверки на авторизацию. И вот в этом случае он не переходит на указанный state. Все эти события происходят при нажатии кнопки Sign in. Если нажать кнопку второй раз, то все отлично. А вот и вопрос: почему не переходит на нужный state когда fromParams.skip == true?

Код

$rootScope.$on('$stateChangeStart',
            function (event, toState, toParams, fromState, fromParams) {
                //if variable "needAuth" is not defined in data state, then default value is true (needAuth = true)
                var needAuth = (toState.data === undefined || toState.data.needAuth === undefined) ? (true) : (false);

                if ((!fromParams.skip) && (needAuth)) {
                    event.preventDefault();

                    checkAuthService.checkAuth()
                        .then(function (response) {
                            if (response.data.statusCode == 200) {
                                fromParams.skip = true;
                                $state.go(toState.name, fromParams);
                            } else {
                                event.preventDefault();
                                $state.go('sign_in');
                            }
                        });
                }
            }
        );

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.