@ForveAvar

UI-router отрисовывать subview только после init функции в parent state?

Здраствуйте!

допустим у нас есть такая иерархия роутов
$stateProvider
      .state('root', {
        abstract: true,
        url : '/',
        templateUrl : '/views/root.html',
        controller : 'RootCtrl',
        resolve: resolver
      })
      .state('main2', {
        parent: 'root',
        url : 'main2/',
        templateUrl : '/views/main2.html',
        controller : 'MainCtrl2'
      })


root.html имеет следующую структуру
<div ng-init="init()">
  <section class="container main">
    <div class="row scrollreference" ng-style="style()">
      <div class="col-md-12" ui-view ng-if="initDone"></div>
    </div>
  </section>
</div>


RootCtrl содержит набор необходимых проверок и запросов на сервер которые в свою очередь занимают определенное время. По завершению всех запросов он устанавливает переменную initDone в true. initDone переменную я решил использовать для того, чтобы откладывать рендер а соответственно и выполнения кода для MainCtrl2. А теперь мучает вопрос насколько это неправильный подход и как это реализовать по нормальному?
  • Вопрос задан
  • 113 просмотров
Пригласить эксперта
Ответы на вопрос 1
TekVanDo
@TekVanDo
Javascript Developer
неправильный, начальные данные нужно подгружать в state ах, и не нужно будет пилить велосипеды. подробнее тут
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы