我试图获得一个使用ngAnimate的基本示例,我创建了一个jsfiddle,其中包含来自Angular docs ngAnimate的代码:
JSFIDDLE
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');
}
}
}]);
我希望至少要调用enter函数,我在这里错过了什么?
最佳答案
ngAnimate
不会在初始加载时触发。这是有关Github的票证:https://github.com/angular/angular.js/issues/10536
但是,您的动画可以正常工作!如果将以下内容添加到控制器中:
$timeout(function(){ $scope.items.push('D'); }, 1000);
您会看到已记录
'enter'
。 (JSFiddle)同样,如果整个数组都在超时中加载,它将记录每个项目。只需在Angular完成应用设置后即可。
以前有一些技巧可以使初始加载动画正常工作,但这些技巧似乎not to work anymore。
关于javascript - 无法调用基本ngAnimate示例的函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32225555/