71

null ではない特定のプロパティを持つアイテムを除外しようとしています。

var details = [{name:'Bill', shortDescription: null}, {name:'Sally', shortDescription: 'A girl'}]

1 つの李だけを示したいと思います。サリー用のもの。これは私が試したもので、成功しませんでした

<ul>
<li ng-repeat="detail in details | filter:{shortDescription:'!'}">
<p>{{detail.shortDescription}}</p>
</li>
</ul>

カスタムフィルターを作成せずにこれを行う方法はありますか? それとも、カスタム フィルターはどのように見えるでしょうか?

4

4 に答える 4

124

Angular >=1.3.16 から最新 (執筆/更新時は 1.5.5) を使用''(空の文字列) (または'!!'動作)

<ul>
    <li ng-repeat="detail in details | filter:{shortDescription: ''}">
        <p>{{detail.shortDescription}}</p>
    </li>
</ul>

例: http://jsfiddle.net/TheSharpieOne/1mnachk6/


Angular >=1.3.6 および <=1.3.15 を使用'!null'

<ul>
    <li ng-repeat="detail in details | filter:{shortDescription: '!null'}">
        <p>{{detail.shortDescription}}</p>
    </li>
</ul>

例: http://jsfiddle.net/TheSharpieOne/4wxs67yv/


Angular >=1.2 および <=1.3.5 使用''(空の文字列) (または'!!'動作)

<ul>
    <li ng-repeat="detail in details | filter:{shortDescription: ''}">
        <p>{{detail.shortDescription}}</p>
    </li>
</ul>

例: http://jsfiddle.net/TheSharpieOne/ovsqf17n/


角度 <1.2'!!'

<ul>
    <li ng-repeat="detail in details | filter:{shortDescription: '!!'}">
        <p>{{detail.shortDescription}}</p>
    </li>
</ul>

例: http://jsfiddle.net/TheSharpieOne/RGEdc/


全体として、'!!'最高のサポートがありますが、''(空の文字列) が推奨され、これを目的としています。

于 2013-09-05T19:33:59.620 に答える
42

Angular >= 1.4 のhttps://github.com/angular/angular.js/issues/11573によると、null/undefined を除くすべてのプリミティブに一致する '' を使用することをお勧めします。

<ul>
    <li ng-repeat="detail in details | filter:{shortDescription: ''}">
        <p>{{detail.shortDescription}}</p>
    </li>
</ul>
于 2015-06-24T18:26:42.860 に答える