javascript - 如何使用 VueJS 在循环中访问嵌套对象中的属性
问题描述
尝试使用项目中的循环访问嵌套对象中的属性时,我目前遇到错误vuejs
。令人惊讶的是,其他类似的嵌套对象可以有效地工作,但只有一个。
<template>
<div>
<tr v-for="travel in travels" :key="travel.data.travel_request_id">
<td> <router-link :to="'/expense/'+ travel.data.request_no +'/travel' "> {{ travel.data.request_no }} </router-link> </td>
<td> {{ travel.data.summary.purpose}} </td>
<td> {{ travel.data.user.surname }} {{ travel.data.user.first_name }} </td>
<td> {{ travel.data.added_by.surname}} {{ travel.data.added_by.first_name }} </td>
<td> {{ travel.data.created_at }} </td>
<td> {{ travel.data.status }} </td>
</tr>
</div>
</template>
travel.data.summary.purpose
即使它存在于 travels 对象中,也会引发错误。
{{ travel.data.summary }}
返回一个包含目的属性的对象,但我无法访问它。显示的错误是
[Vue warn]: Error in render: "TypeError: Cannot read property 'purpose' of null"
请参阅此链接以供参考
解决方案
在某些项目中,该字段summary
为空,因此您应该在呈现嵌套字段之前检查其值purpose
:
<td v-if="travel.data.summary"> {{ travel.data.summary.purpose}} </td>
推荐阅读
- ubuntu - Firefox 在 network.dnsCacheExpiration 间隔后不清除 DNS 缓存
- ios - 将 Angular 项目从版本 6 更新到版本 8 后,IOS Scroll 无法正常工作?
- java - 使用泛型来增加集合
- javascript - 使用选择标签更改位置
- java - 如何从本机(android 和 iOS)访问 react 本机异步存储数据?
- javascript - 如何知道用户是否来自谷歌广告并了解这是他在 JS 代码会话中的第 n 个页面?
- python - 您在 Tensorflow API(对象检测)中推荐哪些数据增强选项?
- ruby-on-rails - zsh:未找到匹配项:用户:update_ratings
- c++ - C/C++ 不能在 for 循环中运行 for 循环
- javascript - 将基于类的组件转换为功能性不起作用