开发者问题收集

访问嵌套对象属性

2022-11-29
103

我正在尝试访问嵌套对象属性。

<th  data-toggle="tooltip" data-placement="bottom" v-for="schedule in employee.daily_schedules">{{schedule.start}}-{{schedule.end}}-{{schedule.employee_function.name}}</th>

当我尝试获取 schedule.employee_function.name 时出现错误

(TypeError: u.employee_function is null)

但如果我呈现 schedule.employee_function 我会得到整个对象:

在此处输入图像描述

这是我从 api 获取的对象:

在此处输入图像描述

2个回答

由于 Employees 数组中的数据可能在 employee_function 中包含空值(例如 employee_function 对象包含空值而不是对象),这可能会导致您尝试读取空对象时出现类型错误。

解决此问题的最简单方法是在您引用对象的属性前面添加 ? 。例如 employee_function?.name 。这意味着如果 employee_function 为空,它将不会读取与代码相关的任何属性。

Remicaster
2022-11-29

schedule.employee_function.name 应该足够了,关于您的 v-for 和数据的结构。

kissu
2022-11-29