Если пользователь изменяет URL, и отображается неправильный вид

0

У меня есть обратный вызов изменения состояния, который перенаправляется в одно и то же состояние.

  $rootScope.$on('$stateChangeStart', function(event, toState, toStateParams) {        
    if (toState.name != 'wsConnect') {
        console.log("change path!!");
        $location.path('/connect');                  

    }
  });

Он отлично работает с самого начала, когда пользователь открывает новую вкладку и вводит маршрут с любым якорем url. Пользователь видит вид из обратного вызова, но если пользователь вручную меняет привязку и хиты, тогда обратный вызов работает с половинным якорным значением, а пользователь видит вид своего маршрута не от якоря.

Если вы перезагрузите страницу, "ошибка" исчезнет.

Я нашел обходное решение:

    if (toState.name != 'wsConnect') {
        console.log("change path!!");
        $interval(function () {
          $state.go('wsConnect');
          $location.path('/connect');
        }, 1, 1);
    }
Теги:
angular-ui-router

1 ответ

1

Возможно, рассмотрите возможность использования $viewContentLoading который запускается после начала загрузки представления перед тем, как DOM будет отображаться. "$ RootScope" транслирует событие.

https://github.com/angular-ui/ui-router/wiki#view-load-events

  • 0
    Thx, viewContentLoaded not Загрузка должна использоваться. Кроме того, я должен был вручную установить состояние в нем.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню