2013-07-03 8 views
12

javascriptとAngularJSの両方が新しく、引用符内の式が評価されないのはなぜですか?AngularJs:ng-show/ng-hide式が評価されない

<span ng-show="{{remaining()}}!==0">sometext</span> 

それは単にこのように印刷されています

<span ng-show="2!==0">sometext</span> 

とNG-ショーは関係なく、内容に機能していません。テキスト(および印刷された表現)は、式はevalの中に包まれていても示されています:

eval("{{remaining()}}!==0") 

が、私はこのために私のコントローラ内の関数を作成するに頼っ:作品

<span ng-show="renderOrNot()">sometext</span> 

を、私はあなたが{{}}を使用する場合、値はアーカンソー

...機能に私は比較のほとんどが

答えて

34

を作りたいたびに記述する必要がないことを好むだろうすなわち、マークアップは、式の結果と置き換えられる。 ngShowがそうちょうどそれがあるとしての機能を使用し、それが動作する、式のみを想定しています。一般的には

<span ng-show="remaining() !== 0">sometext</span> 

あなたの表現/コンテンツが表示されなければならないとき、あなたは{{ }}をのみお勧めします。

16

値がバインドされているため、{{}}は使用しないでください。次のようにng-showを使用してください:

<span ng-show="remaining() !== 0">sometext</span>