Вы можете переместить ваш mainCtrl.js flowService.configureSteps()
вызов в:
- функция состояния resol ( UI-Router )
- $ routeChangeStart обратный вызов события ( NgRoute )
С помощью состояния UI-Router вы можете установить функцию разрешения, которая будет выполняться за до доступа к указанному состоянию, делая возможным выполнение синхронных вещей до создания экземпляра контроллера этого состояния.
В вашем случае вы можете сделать flowService.configureSteps()
до доступа к mainCtrl и сделать salesService.getSalesOrder()
до доступа к subCtrl (но обязательно после сохранения предыдущего заказа).
С помощью ngRoute вы можете определить routeChange callback как:
$rootScope.$on("$routeChangeStart", function (event, currentRoute, previousRoute) {
//
});
в этом обратном вызове вы можете выполнить свою логику до активации маршрута, будучи уверенным, что у вас будет то, что вам нужно, когда вы попадете на страницу.
Поделитесь своей конфигурацией маршрута / состояния, если вам нужна дополнительная помощь.