对于 div,我有这样的ng-class
表达式:ng-class="{error: msg.isError}"
和这样的ng-show
表达式:ng-show="msg.text"
很明显,我希望 divmsg.text
不为空时显示,并且我希望它在msg.error
为真时具有类“错误”。
另外,我希望它在显示时淡入。当类没有改变时它工作得很好,但是当我设置msg.error
为 true,同时为 设置一个值时msg.text
,动画不会发生。
这是我的问题的JS小提琴。
这是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";
}
});