javascript - 使用指令设置默认变量

标签 javascript angularjs

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

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

例如

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。

最佳答案

使用三元运算符。

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

关于javascript - 使用指令设置默认变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36018157/

相关文章:

javascript - 使用 js 变量或用户输入来更改 Bootstrap 日期选择器中的日期格式

javascript - 在 next.config.js 中支持 ESM

带有数据方法的 HTML 链接不起作用

html - 使用 html 和 ngHref 进行 Angular 翻译

javascript - 使用 angular ui-router 更改 div 的 View

javascript - SVG 动画 : Animate an arc as it is drawn

javascript - 已更新 - 以编程方式更改输入字段后无法按退格键

javascript - jQuery/JavaScript : how to remove all elements in the first <li> except <a>text</a>

javascript - 回调后如何禁用界面中的所有按钮

javascript - AngularJS/Javascript : Find a string match in a nested object