AngularJS Abilita la direttiva Una volta $ HTTP Get Finishes
-
21-12-2019 - |
Domanda
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
});
}
};
});
.
Ho gli anglyjs sopra e quando eseguo la mia pagina la console.log mostra [cycle] terminating; too few slides: 0
e quindi mostra il Get Request
dopo.
Come sarei in grado di eseguire la direttiva una volta terminato il $http.get
?
Soluzione
prova a fare questo
<div cycle ng-if="drinks"></div>
.
In questo modo elemento che contiene la direttiva sarà compilato nel browser solo quando le bevande sono disponibili
Altri suggerimenti
Ci sono due cose che puoi usare
- .
-
ng-show
eng-hide
e personalizzatescope
Property
Prendi in considerazione anche l'utilizzo di animazione invece di creare animazione manuale all'interno della direttiva
.Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow