Snažím sa získať základný príklad fungovania pomocou ngAnimate, vytvoril som jsfiddle, ktoré obsahuje kód z Angular docs ngAnimate:
var myApp = angular.module("myApp",["ngAnimate"]);
myApp.controller("MyCtrl", function($scope) {
$scope.name = "Superhero";
$scope.items = ["A","B","C"];
}).animation(".slide", [function() {
return {
// make note that other events (like addClass/removeClass)
// have different function input parameters
enter: function(element, doneFn) {
console.log("enter");
// knows that the animation has concluded
},
move: function(element, doneFn) {
console.log("move");
},
leave: function(element, doneFn) {
console.log("leave");
}
}
}]);
Očakával by som, že sa zavolá aspoň funkcia Enter, čo mi tu chýba?
odpovede:
1 pre odpoveď č. 1ngAnimate
nespúšťa sa pri počiatočnom načítaní. Tu je lístok Github o tom: https://github.com/angular/angular.js/issues/10536
Vaša animácia však funguje! Ak do ovládača pridáte nasledujúce položky:
$timeout(function(){ $scope.items.push("D"); }, 1000);
Uvidíte to "enter"
je prihlásený. (JSFiddle)
Podobne, ak sa všetky vaše celé polia načítavajú do časového limitu, zaznamenajú sa všetky položky. Musí to byť iba po dokončení nastavenia aplikácie Angular.
V minulosti existovali nejaké hacky, ktoré umožnili fungovanie úvodných animácií načítania, ale tie sa zdajú prestať pracovať.