【发布时间】:2014-08-19 16:40:38
【问题描述】:
考虑这个js代码:
// class inside controller TODO: refactor
$scope.$watch('concat.country', function(newValue) {
if (highRisk.indexOf(newValue) !== -1) {
alert(newValue + " is a high risk country");
$scope.riskClass = "highRisk";
} else if (mediumRisk.indexOf(newValue) !== -1) {
alert(newValue + " is a medium risk country");
$scope.riskClass = "mediumRisk";
} else {
$scope.riskClass = "";
}
});
带模板
<div ng-class="{{riskClass}}" class="col-lg-10">
逻辑很好用。我可以在 Chrome 中看到 ng-class 设置为正确的值,但背景没有改变,元素检查器不显示类。
为什么不评估 ng-class? {{riskClass}} 不合法/不正确?
PS 我知道这段代码远非完美。
【问题讨论】:
-
ng-class="riskClass"你不需要再包装在{{ -
呃。 30 秒。非常感谢。想知道这是如何工作的 coderwall.com/p/r3_geg
-
因为您列出的那篇文章继续包装在单个 {} 中,您可以在根据条件添加类时执行此操作。示例:ng-class="{active:contition}" - 在满足条件时分配活动类。
-
文章中的第一个例子是误用。
{{active}}只会被评估一次,当active被更改时,永远不会再次被重新评估。或者它可能在过去有效,从那时起 angularjs 肯定发生了很大变化。
标签: javascript css angularjs class