2016-12-29 17 views
1

新しい動的テキストフィールドを追加すると、デフォルトで「0」を追加します。値が「0」の場合は「」で置き換えます。ngモデルで三項演算子を作る方法は? Angular.js

 $scope.add=function(){ 
      $scope.aAnimals.push({ "animal": "0"}) 
    } 

    <div ng-repeat='item in aAnimals'> 
    THIS IS MY IDEA in ng-model but i have an error..<!--item.animal=='0'?'':item.animal--> 
    <input type='text' ng-model=item.animal class='animal' /> 
    </div> 

http://plnkr.co/edit/ukTl0ho5gPpOE6jMLq11?p=preview

+0

あなたはそれを行うべきではありません。あなたは達成したいことを教えていただけますか?あなたは他の方法で行うことができます。 –

+0

'$ scope.aAnimals.push({" animal ":" "})' – phuzi

+0

@phuziはデフォルトで "animal": ""を持つことはできません:これはドロップダウンで問題を引き起こします – yavg

答えて

1

そのためのフィルタを作成します。

app.filter('blankZero', function() { 
    return function (text) { 

    if(text=="0") 
     return ""; 

    return text; 
    }; 
}); 

は、ビューでそれを使用します。

{{item.animal|blankZero}} 
+0

ここで{{item.animal | blankZero}}を使用しますか? – yavg

+0

@yavgはテンプレート内でng-repeat –

+0

ですが、私のためには動作しません。これはng-modelで必要です – yavg