2013-09-24 33 views
12

Trong một ô bảng, tôi liệt kê một số mục được điền bằng cách sử dụng ng-repeat, sử dụng cấu trúc bên dưới. Tuy nhiên, đối với một số mục, các thuộc tính như "user.favcolor" trống. Cách dễ nhất để ẩn văn bản như "Màu yêu thích:" trong trường hợp đó để tôi không kết thúc bằng một hàng có "Màu yêu thích:" và không có giá trị bên cạnh nó?Cách ẩn văn bản nhãn khi giá trị trống?

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

Trả lời

34

Bạn có thể sử dụng các chỉ thị ng-show cho việc này:

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

Các ng-show công trình như vậy mà các phần tử được chỉ được hiển thị nếu biểu thức đánh giá để true. Chuỗi trống ở đây sẽ đánh giá là false ẩn toàn bộ phần tử.

Ngoài ra, bạn cũng có thể chỉ định một giá trị mặc định:

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

Trong trường hợp này, nếu user.favcolor để đánh giá một false, nó sẽ in Not specified để thay thế.

Các vấn đề liên quan