我希望这在角度上会非常简单.
我有一个翻译和其他用户的列表
[{user: 'a',languages:['french','english','spanish']},
{user: 'b'}]
Run Code Online (Sandbox Code Playgroud)
然后我有一个ng-repeat,我只想显示拥有语言的用户
ng-repeat="translator in users | filter: {languages}"
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我似乎无法弄清楚如何通过属性的存在来过滤.我已经尝试了各种方式
{languages:'!undefined'}
{languages.length > 0}
{languages.length:'!0'}
Run Code Online (Sandbox Code Playgroud)
我不想为此写一个外部过滤器,因为我确信它有可能是有角度的,我只是无法正确使用它.
Alw*_*ner 41
<div ng-repeat="translator in users | filter : { languages : '!!' }">
Run Code Online (Sandbox Code Playgroud)
考虑如下列表:
$scope.items = [
{
propertyOne: 'a',
propertyTwo: 'hello'
},
{
propertyOne: 'b',
propertyTwo: null
},
{
propertyOne: 'c',
propertyTwo: undefined
},
{
propertyOne: 'd'
}
];
Run Code Online (Sandbox Code Playgroud)
'!!' 过滤掉具有某个属性的对象或具有某个未定义属性或null的对象:
<div ng-repeat="item in items | filter : { propertyTwo : '!!' }">
{{item.propertyOne}}
</div>
<!-- outputs: a -->
Run Code Online (Sandbox Code Playgroud)
'!' 过滤掉没有某些属性的对象或具有未定义或null的特定属性的对象:
<div ng-repeat="item in items | filter : { propertyTwo : '!' }">
{{item.propertyOne}}
</div>
<!-- outputs: b c d -->
Run Code Online (Sandbox Code Playgroud)
注意:它不适用于值为0,false或空字符串('')的属性.
编辑:以前的答案与plunkr示例不同.我通过交换'!!'来修复它们 和'!'.
| 归档时间: |
|
| 查看次数: |
15452 次 |
| 最近记录: |