使用指令

时间:2016-03-15 17:29:12

标签: javascript angularjs

我使用ng-repeat循环遍历一个对象数组并将其打印到我视图中的表中,但是根据api返回的内容,我可能没有每个对象的每个属性的值。这会产生一个包含空格的表格。我希望空白只显示“0”而不是空。

是否有一种简单的方法可以在不向对象添加“0”值的情况下实现此目的?

e.g

var rooms = [
    {room_num:'1', seats_available:'5'},
    {room_num:'2', seats_available:'12'},
    {room_num:'3'}
]

视图:

<div ng-repeat='room in rooms'>
  <h1>Room:{{room.room_num}}</h1>
  <h2>Seats:{{rom.seats_available}}</h2>
</div>

会导致房间3中的座位空白。我希望它只显示0。

2 个答案:

答案 0 :(得分:2)

使用三元运算符。

<div ng-repeat='room in rooms'>
   <h1>Room:{{room.room_num}}</h1>
   <h2>Seats:{{room.seats_available ? room.seats_available : "0" }}</h2>
</div>

您也可以使用||。哪个也一样。但是我认为这样做并不是很好的惯例。

<div ng-repeat='room in rooms'>
   <h1>Room:{{room.room_num}}</h1>
   <h2>Seats:{{room.seats_available || "0" }}</h2>
</div>

答案 1 :(得分:0)

{{room.seats_available || "0" }}

(小心使用布尔值)