Angularjs Включить директиву, как только $ http Get Finishes
-
21-12-2019 - |
Вопрос
app.controller("MainController", function($scope, $http){
$scope.items= [];
console.log('hi');
$http.get('../assets/data/data.json').then(function(response) {
$scope.drinks =response.data.drinks;
});
});
app.directive('cycle', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
$(element).cycle({
fx: 'fade',
timeout: 10
});
}
};
});
.
У меня есть вышеуказанные angularjs и когда я запускаю свою страницу, Console.log показывает [cycle] terminating; too few slides: 0
, а затем он показывает генеракодицетагкод после.
Как бы я мог запустить директиву, как только Get Request
закончится?
Решение
попробуйте сделать это
<div cycle ng-if="drinks"></div>
.
Таким образом, элемент, который содержит директиву, будет скомпилирован в браузере только тогда, когда напитки доступны
Не связан с StackOverflow