【发布时间】:2014-08-11 16:30:12
【问题描述】:
对于一个 div,我有一个像这样的 ng-class 表达式:ng-class="{error: msg.isError}"
和这样的ng-show 表达式:ng-show="msg.text"
很明显,我希望在msg.text 不为空时显示 div,并且当msg.error 为真时,我希望它具有类“错误”。
另外,我希望它在显示时淡入。
当类没有改变时它工作得很好,但是当我将msg.error设置为true,同时为msg.text设置一个值时,动画不会发生。
这是我的问题的JS fiddle。
这是html:
<div ng-app='app' ng-controller='cnt'>
<button ng-click="showText2()">This works</button>
<button ng-click="showText()">This doesn't work</button>
<button ng-click="clear()">Clear</button>
<div ng-show="msg.text" ng-class="{error: msg.isError}" class="fadein fadeout">{{ msg.text }}</div>
</div>
这是js代码:
app = angular.module('app',['ngAnimate']);
app.controller('cnt', function($scope){
$scope.showMsg = false;
$scope.msg = {
isError: false,
text: ""
};
$scope.clear = function(){
$scope.msg.isError = false;
$scope.msg.text = "";
}
$scope.showText = function(){ // This doesn't work
$scope.msg.isError = true;
$scope.msg.text = "text to fade in";
}
$scope.showText2 = function(){ // This works
$scope.msg.text = "text to fade in";
}
});
【问题讨论】:
标签: javascript angularjs ng-animate ng-class ng-show