[英]AngularJS animate div on scope update
每当$ scope变量更新时,我都试图用一些内容为div设置动画。 我想向用户提供已发生更新的反馈。
在我的控制器中,我通过这样的websocket更新$ scope:
socket.syncUpdates('item', $scope.items, function(event, item, array) {
$scope.items = array;
});
我无法理解如何做到这一点。 我正在使用ng-animate和animation.css
socket.syncUpdates('item', $scope.items, function(event, item, array) {
$scope.items = array;
$scope.$apply();
});
在syncUpdates中,使用$apply()
触发$digest
循环。
现在你可以在两个地方做动画了。 要么在这个syncUpdates
里面,在$scope.$apply()
下面$scope.$apply()
else在一个单独的$watch
。
$scope.$watch("items", function(newValue, oldValue) {
// your animation code here
}, true);
为div设置动画,以下是一个示例:
myApp.animation(".fade", function () {
return {
addClass: function (element, className) {
TweenMax.to(element, 1, {opacity: 0});
},
removeClass: function (element, className) {
TweenMax.to(element, 1, {opacity: 1});
}
}
})
在你的控制器中:
在控制器功能中注入$animate
。 然后用
$animate.addClass(document.querySelector("selector"), "fade");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.