我在某些地方使用 ngAnimate,但它接管了我所有 ng-class 元素的动画。我已经为不需要 ngAnimate 接管的各种元素编写了大量动画代码。他们添加的课程似乎真的把事情搞砸了。无论如何要排除这些元素?
这是我要排除的元素:
<div ng-class="myclass"></div>
ngAnimate 添加了类似的类
$scope.myclass = 'move'
<div class="move-add" ng-class="myclass"></div>
我在某些地方使用 ngAnimate,但它接管了我所有 ng-class 元素的动画。我已经为不需要 ngAnimate 接管的各种元素编写了大量动画代码。他们添加的课程似乎真的把事情搞砸了。无论如何要排除这些元素?
这是我要排除的元素:
<div ng-class="myclass"></div>
ngAnimate 添加了类似的类
$scope.myclass = 'move'
<div class="move-add" ng-class="myclass"></div>
IRC 上的 jaawerth 帮助了我。他/她将我引导至此链接:
https://github.com/angular/angular.js/issues/5172
并建议我写这个指令:
.directive('noAnimate', ['$animate',
function($animate) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
$animate.enabled(false, element)
scope.$watch(function () {
$animate.enabled(false, element)
})
}
};
}
])
这解决了这个问题。