2013-09-24 11 views
12

W komórce tabeli wymienię kilka elementów zapełnianych za pomocą polecenia ng-repeat, korzystając z poniższej struktury. Jednak w przypadku niektórych wpisów właściwości takie jak "user.favcolor" są puste. Jaki jest najłatwiejszy sposób ukrywania tekstu, na przykład "Ulubiony kolor:" w takim przypadku, aby nie kończył się wierszem "Ulubiony kolor:" i bez wartości obok?Jak ukryć tekst etykiety, gdy wartość jest pusta?

 <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> 

Odpowiedz

34

Można użyć dyrektywy ng-show na to:

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

W ng-show działa tak, że element jest wyświetlany tylko wtedy, gdy wyrażenie to true. Pusty ciąg znaków oceniany jako false, ukrywając cały element.

Alternatywnie, można również określić wartość domyślną:

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

w tym przypadku, jeśli user.favcolor ocenia na false będzie drukować Not specified zamiast.

Powiązane problemy