AngularJS ngClass 指令中的条件表达式
AngularJS 提供 ngClass 指令来根据给定表达式动态添加和删除 CSS 类。然而,在 ngClass 中合并条件表达式可能会很棘手。
示例方法
一种尝试是直接在 ngClass 中使用表达式,例如:
<span ng-class="{test: 'obj.value1 == \'someothervalue\''}"></span>
但是,无论 的值如何,此表达式始终应用“测试”类obj.value1.
为了避免这种情况,您可以定义一个返回 true 或 false 值的函数:
$scope.checkValue1 = function() { return $scope.obj.value === 'somevalue'; }
然后,在 ngClass 中使用此函数:
<span ng-class="{test: checkValue1()}"></span>
条件表达式的正确语法
注意当直接在 ngClass 中使用条件表达式时,应该省略表达式周围的引号。正确的语法是:
{test: obj.value1 == 'someothervalue'}
自定义指令和监视表达式
如果您正在创建需要监视表达式的自定义指令,则必须了解 AngularJS 的作用不允许直接观看表情。相反,您可以使用 $watch 方法来观察特定模型值的变化。
其他功能
ngClass 支持逻辑运算符,允许您创建复杂的条件表达式。例如:
ng-class="{'test': obj.value1 == 'someothervalue' || obj.value2 == 'somethingelse'}"
如果 obj.value1 等于 'someothervalue' 或 obj.value2 等于 'somethingelse',则此表达式应用“test”类。
以上是如何通过 AngularJS 的 ngClass 指令有效地使用条件表达式?的详细内容。更多信息请关注PHP中文网其他相关文章!