Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng类三元算子与表达式求值的区别_Javascript_Angularjs - Fatal编程技术网

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>