Javascript ng类三元算子与表达式求值的区别
我有表情Javascript ng类三元算子与表达式求值的区别,javascript,angularjs,Javascript,Angularjs,我有表情 ng class=“myVal>0?”myClass':“none”,其中myVal在控制器中的某个ajax请求后获取值 问题是,有时myVal会在控制器中获取新值,但上述类不会在视图中更新 但是,像ng class=“{'myClass':myVal>0}”这样的表达式每次都给出正确的结果 这两者的区别是什么?或者我应该以不同的方式使用ngClass,ngClass指令接受表达式作为字符串、对象和数组 控制器: // string $scope.myClassString = 'my
ng class=“myVal>0?”myClass':“none”
,其中myVal
在控制器中的某个ajax请求后获取值
问题是,有时myVal
会在控制器中获取新值,但上述类不会在视图中更新
但是,像ng class=“{'myClass':myVal>0}”这样的表达式每次都给出正确的结果
这两者的区别是什么?或者我应该以不同的方式使用ngClass
,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
}
];
视图:
或
1,“my-style-c”:false}>
指令将表达式接受为字符串、对象和数组
控制器:
// 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
}
];
视图:
或
1,“my-style-c”:false}>
它们是不同的。第一个在myClass
和none
之间切换。最后一个开关切换到myClass。等效版本应该是ng class=“{'myClass':myVal>0,'none':myVal它们不同。第一个版本在myClass
和none
之间切换。最后一个版本切换myClass
。等效版本应该是ng class=“{'myClass':myVal>0,'none':myVal>
<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>