2013-09-24 15 views
12

Bir tablo hücresinde, aşağıdaki yapıyı kullanarak ng-yineleme kullanılarak doldurulan birkaç öğeyi listeliyorum. Ancak, bazı girişler için "user.favcolor" gibi özellikler boştur. "Favori renk:" gibi bir metni gizlemenin en kolay yolu, bu durumda "Favori renk:" olan bir satırla bitmem ve bu değerin yanında bir değere sahip olmamam.Değer boşken etiket metni nasıl gizlenir?

 <table> 
      <thead> 
       <tr> 
        <th>Price</th> 
        <th>Plan Contents</th> 
       </tr> 
      </thead> 
      <tbody> 
       <tr ng-repeat="tip in tips"> 
        <td>{{tip.priceMonthly}}</td> 
        <td><span>Name: {{user.name}}</span> 
         <span>ID: {{user.id}}</span> 
         <span>Favorite color: {{user.favcolor}}</span> 
        </td> 
       </tr> 
      </tbody> 
     </table> 

cevap

34

Bunun için ng-show direktifini kullanabilirsiniz: anlatım true olarak değerlendirilirse eleman sadece gösterilir

<span ng-show="user.favcolor">Favorite color: {{user.favcolor}}</span> 

ng-show eserler, öyle ki. Burada boş bir dize, tüm öğeyi gizleyerek false'a değerlendirecektir. user.favcolor bir false olarak değerlendirilirse eğer yerine Not specified yazdırır, bu durumda

<span>Favorite color: {{user.favcolor || "Not specified" }}</span> 

:

Alternatif olarak, varsayılan bir değer belirtebilirsiniz.

İlgili konular