我有表情
ng-class="myVal > 0 ? 'myClass' : 'none'"
,其中myVal
在控制器中的某个ajax请求后获取值。
问题是,有时myVal
在控制器中获得新值,但上面的类在视图中没有更新。
但是,像ng-class="{'myClass' : myVal > 0}"
这样的表达式每次都会给出正确的结果。
两者有什么区别?或者我应该以不同的方式使用ngClass
?
答案 0 :(得分:0)
ngClass
指令接受表达式为string,object和array。 Check the documentation about ngClass
控制器:
// string
$scope.myClassString = 'my-style';
// object
$scope.myClassObject = {
'my-style-a': true, // true expression
'my-style-b': 2 > 1, // true expression
'my-style-c': false // false expression style not applied
};
// array with mixed values
$scope.myClassArray = [
'my-style-d',
{
'my-style-e': true, // true expression
'my-style-f': false // false expression style not applied
}
];
查看:
<div ng-class="myClassString">
</div>
<div ng-class="myClassObject">
</div>
<div ng-class="myClassArray">
</div>
OR
<div ng-class="'my-style'"">
</div>
<div ng-class="{'my-style-a': true, 'my-style-b': 2 > 1, 'my-style-c': false}">
</div>
<div ng-class="['my-style-d', {'my-style-e': true, 'my-style-f': false }]">
</div>