2016-09-07 16 views
1

ng-repeatアイテム内でこのng-showを動作させる方法を理解できますか?時には "nNumber"があり、時にはng-showがトリガーされないこともあります。私はそれを働かせようとしている私の髪を引き出しています。前もって感謝します。ブール値のng-repeat内部のng-showインスタンスが動作しない

<option ng-repeat="asset in assets" value="{{asset.id}}"> 
{{asset.assetName}} 
<span ng-show="asset.nNumber">({{asset.nNumber| uppercase}})</span> 
</option> 
+0

実際に何が表示されているかを調べてみてください。 'https:// chrome.google.com/webstore/detail/angularjs-batarang/ighdmehidhipcmcojjgiloacoafjmpfk' - Chrome、' https://addons.mozilla.org/en-US/firefox/addon/angscope-simple-angularjs-s/' - Firefox – Rudy

+0

これはクールです...それを使用していません...私はこれをチェックし、うまくいけば、これは私のトラブルシューティングに役立つことができます。ありがとうございました! – sstrick

答えて

0

ng-show作品は、その真の場合、私は、nNumberは、それはあなたがそのヌルかどうかを確認する必要はブール値ではありませんブールvalue.Ifないかどうかを確認するために

<span ng-show="asset.nNumber !=null">({{asset.nNumber| uppercase}})</span> 
+0

'nNumber'がブール値でない場合、' nNumber'が定義されていると、angleは 'span'を表示します。指示/コントローラコードがなければ、適切な答えを得るのは難しいです。 – be4code

+0

正しい... nNumberは数値であり、ブール値ではありません。それはDBから来ており、時には価値があり、時には価値がないこともあります。私は、問題がnullの代わりに空であることが原因かもしれないと思う。おそらく? – sstrick

+0

この数字が0より大きい場合に表示しますか?また、何か大文字であれば(ちょっと好奇心)? – defaultcheckbox

0

トライを推測しますそれは未定義です:資産オブジェクトに存在しないプロパティの場合をカバーします。

<span ng-show="asset.nNumber != null">({{asset.nNumber| uppercase}})</span> 

ます。また、NG-場合は使用を検討してください:nNumberにフィルタを使用して(と、それを隠して)プロパティが存在しない場合には、なぜ? ng-withを使用するとdomから削除され、フィルタは適用されません。

0

値が0の場合は、非表示にしても問題なければ、この方法を試すことができます。

<option ng-repeat="asset in assets" value="{{asset.id}}"> 
    {{asset.assetName}} 
    <span ng-show="!!asset.nNumber">({{asset.nNumber| uppercase}})</span> 
</option> 
+0

それを試しましたが動作しませんでした – sstrick

+0

@sstrick別の問題があることを意味します。私たちが見ることができるコードに基づいて、これはどれくらいの距離を得ることができるかです。 – Rudy

関連する問題