有什么办法可以表达ng-class
条件表达式吗?
例如,我尝试了以下方法:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}">test</span>
此代码的问题在于,无论如何obj.value1
,类测试始终应用于元素。这样做:
<span ng-class="{test: obj.value2}">test</span>
只要obj.value2
不等于真实值,就不会应用该类。现在,我可以通过执行以下操作解决第一个示例中的问题:
<span ng-class="{test: checkValue1()}">test</span>
该checkValue1
函数如下所示:
$scope.checkValue1 = function() {
return $scope.obj.value === 'somevalue';
}
我只是想知道这ng-class
是否应该工作。我还在建立一个自定义指令,在其中我想做类似的事情。但是,我找不到观察表达式的方法(也许这是不可能的,以及它如此工作的原因)。
这是显示我的意思的plnkr。
当有人必须运行复杂的逻辑来确定适当的CSS类时,将功能与ng-class一起使用是一个不错的选择。
http://jsfiddle.net/ms403Ly8/2/
HTML:
CSS:
JavaScript: