Angularjs的ng类表达式语法
Angularjs ng-class expression syntax
我需要使用以下ng-class
-表达式的正确语法的一些帮助,值来自重复搜索结果。每个值都可以自己解析,但ng-class
总是解析为'tdgreen'
。
<td ng-class="{{searchResult|sumOfValue:'LastCount'}} < {{searchResult|sumOfValue:'Average'}} ? 'tdred' : 'tdgreen'">
这里的问题是ng-class
并不意味着与插值工作。这对angular来说是一个很好的教训——永远不要把求值指令和插值混合在一起。你这样做的方式,你可以只使用普通的class
属性与插值,它将立即工作。
然而,如果你仍然想使用ng-class
,你可以在你的控制器中编写一个包装器函数$scope.sumOfValueAGreaterB(obj,a,b)
,它进行比较,并使用json风格的ng-class特性来定义你的条件类,如:
<td ng-class="{tdred : sumOfValueAGreaterB(searchResult, 'Average', 'LastCount'),
tdgreen : sumOfValueAGreaterB(searchResult, 'LastCount', 'Average')}">
另一种方法是在你的控制器中预先计算传递给ng类的对象,但我认为它不适合你的情况,因为我假设你在ng-repeat中这样做。
参见ngClass和$filter
-service文档,特别是$filter
-service示例plunker。
相关文章:
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]
- jquery 1.8.0语法错误,无法识别的表达式:>
- 什么是英国电话号码验证表达式和语法
- Jquery 替换所有文本语法正则表达式中的变量
- 如何修复 jQuery 1.8“语法错误,无法识别的表达式”错误
- 错误:错误:语法错误,无法识别的表达式:
- 属性选择器不起作用(语法错误、无法识别的表达式)
- 如何在jQuery中修复此错误未捕获异常:语法错误,无法识别的表达式:语法错误,无法识别的表达式:标签
- 正则表达式语法错误 - 无需重复
- JS正则表达式语法
- Javascript正则表达式语法错误
- 正则表达式语法困难
- Angularjs的ng类表达式语法
- Javascript多重比较表达式语法
- 来自PEG(解析表达式语法)的智能感知
- JavaScript正则表达式语法
- 未捕获的错误表达式:语法错误,无法识别的表达式
- jQuery函数中的正则表达式语法
- HTML5输入验证的Javascript正则表达式语法