Одно из возможных решений - вы можете использовать директиву ng-if для создания dom, когда ваш API будет выполнен.
<your-directive ng-if="isAPIExecuted"></your-directive>
И в обработчике успеха API,
Test.get().then(function(){
$scope.isAPIExecuted = true;
});
Edit:
Если вы используете UI-маршрутизатор, а затем загрузить ваш HTML, как только API выполняется, вы можете нам решить следующим образом:
.state{
controller: '',
templateUrl: '',
resolve: {
data: function($q, $timeout){
// Replace this code with your API call
var deferred = $q.defer();
$timeout(function(){
return deferred.resolve();
},10000);
return deferred.promise;
}
}
}
Таким образом, он будет загружать html и контроллер только после того, как ваше обещание будет разрешено.
Невозможно рассказать без примера. Какое состояние внутри директивы зависит? –
Если возможно, можете ли вы разместить часть кода? – Kailas
Можно ли загружать html введенного маршрута, пока API не будет выполнен? – puppeteer701