加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – ng重复过滤器,用于未定义属性的位置

发布时间:2020-12-17 07:44:40 所属栏目:安全 来源:网络整理
导读:我希望这将是非常简单的角度. 我有一个与翻译和其他用户的列表 [{user: 'a',languages:['french','english','spanish']},{user: 'b'}] 然后我有一个ng重复,我只想显示有语言的用户 ng-repeat="translator in users | filter: {languages}" 但不幸的是,我似乎
我希望这将是非常简单的角度.

我有一个与翻译和其他用户的列表

[{user: 'a',languages:['french','english','spanish']},{user: 'b'}]

然后我有一个ng重复,我只想显示有语言的用户

ng-repeat="translator in users | filter: {languages}"

但不幸的是,我似乎无法弄清楚如何通过属性的存在进行过滤.
我已经尝试了各种各样的方式

{languages:'!undefined'}
{languages.length > 0}
{languages.length:'!0'}

我不想为此写一个外部过滤器,因为我确定这是有可能的,我只是不能得到的权利.

<div ng-repeat="translator in users | filter : { languages : '!!' }">

说明:

考虑下列列表:

$scope.items = [
    {
        propertyOne: 'a',propertyTwo: 'hello'
    },{
        propertyOne: 'b',propertyTwo: null
    },{
        propertyOne: 'c',propertyTwo: undefined
    },{
        propertyOne: 'd'
    }
];

“!”过滤具有某个属性的对象或具有不定义的某个属性的对象或null:

<div ng-repeat="item in items | filter : { propertyTwo : '!!' }">
    {{item.propertyOne}}
</div>
<!-- outputs: a -->

‘!’过滤不具有某些特定属性或未定义属性的某些属性的对象或null:

<div ng-repeat="item in items | filter : { propertyTwo : '!' }">
    {{item.propertyOne}}
</div>
<!-- outputs: b c d -->

Plnkr

注意:对于值为0,false或空字符串(”)的属性,它不起作用.

编辑:以前的答案与plunkr的例子不同.我通过交换’!!’来修复它们和’!’.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读