2016-08-31 7 views
0

私は複数のプロパティを持つオブジェクトを持っており、空のプロパティを除外したいと思います。ほとんどのプロパティは必須ではなく、nullでもかまいません。私はそれのためのフィルタを作る方法を理解できません。ng-repeat(key、value)で値でフィルタリングする方法はありますか?値がnullでない場合のみ表示する方法はありますか?

<div class="hero-unit" ng-repeat="(key, value) in selectedItem | valueNotNull"> 
          <span class="hero-title">{{key|insertSpaces}} : </span>  
          <span class="hero-content">{{ value }}</span> 

プロパティの値は、私はその特定のプロパティの英雄ユニットをdiplayしたくないnullまたは空です。それでも残りのプロパティを表示します。

答えて

1

あなたは空の値

あなたはまたng-ifを使用することができ、この

<div class="hero-unit" ng-repeat="(key, value) in selectedItem" ng-hide="!value"> 
          <span class="hero-title">{{key|insertSpaces}} : </span>  
          <span class="hero-content">{{ value }}</span> 
+0

パラメータを '!truthy'以外の別の条件をチェックするための値を渡して修正し、私の問題を解決しました –

0
<div class="hero-unit" ng-repeat="(key, value) in selectedItem | filter:{value:''}"> 
          <span class="hero-title">{{key|insertSpaces}} : </span>  
          <span class="hero-content">{{ value }}</span> 

あなたはfilter(nullでない値)でそれをチェックする必要があります。

1

のように試してみてください非表示にすることができます:

<div class="hero-unit" ng-repeat="(key, value) in selectedItem | valueNotNull" 
    ng-if="value"> 
    <span class="hero-title">{{key|insertSpaces}} : </span>  
    <span class="hero-content">{{ value }}</span> 
</div> 

これはvalueはtruthyないこと<div>キーと値のペアを非表示にします(つまり、null、未定義な​​ど)。

関連する問題