我试图在ngOptions上过滤数组:
这里有一个plunkr:http://plnkr.co/edit/OxL84mDdma9iS13wMnIX?p=preview
我有这个数组:
$scope.keys = [ {
id: 1,
name: 'ddddggggggggggggggggg',
applicationKey: 'dssssssssssssss',
kind: 'pingdom',
} , {
id: 2,
name: 'Ddd',
kind: 'moz',
accessId: 'ssss',
secretKey: 'aaaa',
} , {
id: 3,
name: 'MyAlexa',
kind: 'alexa',
secretAccessKey: 'ssssssssssssssssss',
accessKeyId: 'ssssssss',
}
]
我试图使用像这样的东西过滤:
<select name="key" ng-model="keys"
ng-options="k.name for k in keys track by k.id | filter: {kind: 'alexa'}" >
</select>
答案 0 :(得分:1)
也许您可能想要执行以下操作:
<select name="key"
data-ng-model="keys"
data-ng-options="key.name for key.name in keys | filter: { kind: 'alexa' } track by key.id">
</select>
应用过滤器后,您必须拥有track by
。
修改强>:
您在标记中遇到的唯一问题是过滤器之前的track by
表达式。其余的差异只是个人偏好。
答案 1 :(得分:0)
试试这段代码。
<select name="key" ng-model="keys"
ng-options="k.name for k in keys | filter: {kind: 'alexa'}" >
</select>