@Testtest132

Как изменить состояние в ui-route?

Сначала определяю состояния в основном модуле приложения:
$urlRouterProvider.otherwise("/fake");

$stateProvider
     .state("loading", {
      views : {
       "" : {
           templateUrl : "partials/loading.html",
           controller  : "AppLoaderController"
        }
      }
   })
     .state("fake", {
        url: "/fake",
        templateUrl :  "partials/fake.html",
        controller  : "AppFakeController" 
     })
...


Затем вызываю метод .run

.run(["$state" , "$urlRouter", function( $state ,  $urlRouter ) {

   if( !Config.loaded ) {
       $state.transitionTo('loading')
     }

}]);

Суть в чем: после инициализации angular приложения нужно проверить загружены ли картинки, если нет - переходим в состояние загрузки и потом редирект на нужную страницу.
Проблема в том, что $state.transitionTo('loading') вообще ничего не делает. Приложение просто переходит по адресу /fake
  • Вопрос задан
  • 2385 просмотров
Пригласить эксперта
Ответы на вопрос 2
alternativshik
@alternativshik
Возможно, тут надо бы nested states использовать?
Ответ написан
DarthJS
@DarthJS
насколько я понял ситуацию, нужно использовать resolve и включать прелоудер, когда картинки загрузились прелоудер завершается и открывается страница.

что происходит тут: Config.loaded ? Где выполняется функция загрузки картинок?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы