请参阅下面的代码。
我是棱角分明的新人。只是不明白这一行
{{ (fields | filter : {fieldName:"houseNum"} : true)[0].fieldLabel}}
如果我们指定false({{ (fields | filter : {fieldName:"houseNum"} : false)[0].fieldLabel}}
)那么 true in bracket 的含义是什么呢?那么会发生什么?
<div ng-app="app" ng-controller="ctrl">
{{ (fields | filter : {fieldName:"houseNum"} : true)[0].fieldLabel}}
</div>
angular.module('app', []).controller('ctrl', function($scope) {
$scope.fields = [{
fieldName: 'houseNum',
fieldLabel: 'House Number',
disabled: false
}, {
fieldName: 'street',
fieldLabel: 'Street',
disabled: false
}, {
fieldName: 'city',
fieldLabel: 'City',
disabled: true
}, {
fieldName: 'state',
fieldLabel: 'State',
disabled: true
}, ]
})
的样本
答案 0 :(得分:1)
比较器,用于确定是否使用表达式检索值 (当它不是一个函数时)应该被视为基于的匹配 期望值(来自过滤器表达式)和实际值(来自对象) 在数组中)。
可以是以下之一:
function(actual,expected):该函数将被赋予对象值和 要比较的谓词值,如果两个值都应该返回true 被认为是平等的。
true:函数的简写(实际,预期){return angular.equals(actual,expected)}。这基本上是严格的比较 预期的和实际的。
false:一个函数的简写,它将在a中查找子字符串匹配 不区分大小写的方式。原始值转换为字符串。对象是 不与原语进行比较,除非它们有自定义的toString方法 (例如日期对象)。
默认为false。
因此将其设置为true需要与要显示的项目完全匹配。错误设置将允许部分匹配,不区分大小写的匹配等。