AngularJS active la directive une fois que $http est terminé
-
21-12-2019 - |
Question
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
});
}
};
});
J'ai l'AngularJS ci-dessus et lorsque j'exécute ma page, le Console.Log affiche [cycle] terminating; too few slides: 0
et puis il montre le Get Request
après.
Comment pourrais-je exécuter la directive une fois que le $http.get
avoir fini?
La solution
essaie de faire ça
<div cycle ng-if="drinks"></div>
de cette façon, l'élément contenant la directive sera compilé dans le navigateur uniquement lorsque les boissons seront disponibles
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow