iol*_*leo 18 filter angularjs angularjs-filter
我正在学习AngularJS并玩教程.
我正在修改教程示例过滤器以返回一些字符串:
angular.module('phonecatFilters', []).filter('checkmark', function() {
return function(input) {
return input ? 'true-class' : 'false-class';
};
});
Run Code Online (Sandbox Code Playgroud)
我想用它ngClass如下:
{{phone.trueVal | checkmark}} <i ng-class="{{phone.trueVal | checkmark }}"></i>
{{phone.falseVal | checkmark}} <i ng-class="{{phone.falseVal | checkmark }}"></i>
Run Code Online (Sandbox Code Playgroud)
结果:
true-class <i class="false-class">
false-class <i class="false-class">
Run Code Online (Sandbox Code Playgroud)
现在..而对于简单的视图,过滤器按预期工作..为什么它不适用于ngClass?什么是使用过滤值的正确方法ngClass(和其他类似的ngSrc等).
Kha*_* TO 24
在您的情况下,您应该使用class而不是ng-class因为您直接在html上呈现类名而不进行评估.
<div ng-controller="MyCtrl">
<i class="{{phone.trueVal | checkmark }}">{{phone.trueVal | checkmark}}</i>
<i class="{{phone.falseVal | checkmark }}">{{phone.falseVal | checkmark}}</i>
</div>
Run Code Online (Sandbox Code Playgroud)
Jas*_*son 14
这对我有用.只是盯着AngularJS所以我不确定功能是否作为更新的一部分添加,因为这个问题已经有几年了.
ng-class="{ 'has-error': (login.form | validField:'username') }"
Run Code Online (Sandbox Code Playgroud)
添加括号后,它有效.