javascript - 在 vue.js 中绑定(bind)时如何有效地显示文本而不是 null?

标签 javascript html vue.js data-binding null-coalescing

在下面的代码中,site 可以为 null,但如果存在,则 company 不会为 null。当 site 为 null 时,如何有效显示“-”,并且可以很好地缩放 1000 行?

<tr v-for="obj in objs" :key="obj.id">
  <td>{{obj.site.company.name || "-"}}</td> <!-- does not work -->
</tr>

我可以制定一个方法来做到这一点:

methods: {
  handleNulls(obj) {
    // logic
    return "-";
  }
}

但如果可以内联完成或使用过滤器,那就更好了。

最佳答案

我建议使用内联if。您应该检查网站是否未定义以及公司是否未定义:

<tr v-for="obj in objs" :key="obj.id">
  <td>{{obj.site && obj.site.company ? obj.site.company.name : '-'}}</td>
</tr>

关于javascript - 在 vue.js 中绑定(bind)时如何有效地显示文本而不是 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56274615/

相关文章:

javascript - CSS/HTML 中的 div 网格对应于 javascript 中的二维数组

javascript - 使用 promise 设置变量以从回调函数中获取返回值

javascript - typescript 中的枚举和对象有什么区别

javascript - Canvas 在函数中的 for 循环后不会绘制矩形

javascript - 具有关联切换可见性的翻转 div 的多个实例

html - 如何防止深度链接到我网站上的文件

vue.js - 登录后如何从客户端的环回 token 中获取用户信息(角色)

javascript - JQuery .load with Setinveral,在刷新时它会重置某些功能并禁用它们

javascript - 选择后选择vue组件关闭下拉

vue.js - 使用 Vuejs 事件中心发出时传递参数