【发布时间】:2016-03-11 13:23:01
【问题描述】:
在 AngularJS 中使用 animate.css。我正在尝试在 ng-click 上将一个类应用于元素,但该元素没有得到更新。我正在尝试多种方法(使用函数等更新范围值),但没有任何乐趣。基本上,我想在单击按钮 1 或按钮 2 时相应地向动画元素添加 'fadeIn'、'fadeOut' 和 'flipIn'、'flipOut'。
<button ng-click="animate = !animate; classIn = 'fadeIn'; classOut = 'fadeOut'" class="btn btn-default">Fade</button>
<button ng-click="animate = !animate; classIn = 'flipIn'; classOut = 'flipOut'" class="btn btn-default">Flip</button>
<div class="animated-wrapper">
<h1 class="text-center animated" ng-class="{'{{classIn}}': animate, '{{classOut}}': !animate}">Animation</h1>
</div>
谢谢
编辑: 在玩了一点代码之后,我想出了一个解决方案(修改一点@hadiJZ 答案):
<button ng-click="setAnimateClass(animate = !animate, 'fadeIn', 'fadeOut')" class="btn btn-default">Fade</button>
<button ng-click="setAnimateClass(animate = !animate, 'bounceIn', 'bounceOut')" class="btn btn-default">Bounce</button>
<div class="animated-wrapper">
<h1 class="text-center animated" ng-class="animateClass">Animation</h1>
</div>
在控制器中:
$scope.animate = true;
$scope.setAnimateClass = function (animate, classIn, classOut) {
if (animate) {
$scope.animateClass = classIn;
} else {
$scope.animateClass = classOut;
}
};
【问题讨论】:
-
试试这个 ng-class="{'classIn': animate, 'classOut': !animate}"
标签: html css angularjs animate.css