【发布时间】:2025-08-25 18:00:02
【问题描述】:
我正在尝试创建一个表单,我可以使用该表单在数据库中输入和更新值,但我总是收到警告并且不知道如何摆脱它。我有一个包含具有 id 值的对象的数组,例如:
data = [{id_a: 2, id_b: 3},{id_a: 5, id_b: 10}, ...]
在相关组件的模板中,我循环遍历这个数组,并在表中为每个对象创建一行:
<template>
<div>
<table>
<tr
v-for="(dataset, i) in data"
:key="i"
>
<td>{{ a_selection[dataset.id_a] }}</td>
<td>{{ b_selection[dataset.id_b] }}</td>
</tr>
</table>
</div>
</template>
由于我不想显示 id 值而是显示与它们关联的名称,因此我从两个对象中获取名称,这里称为 a_selection 和 b_selection。
我在创建钩子期间从服务器的脚本部分获取这些对象,如下所示:
<script>
import axios
export default {
created() {
axios.get(http://127.0.0.1:5000/get_a/").then(response => (this.a_selection= response.data));
axios.get(http://127.0.0.1:5000/get_b/").then(response => (this.b_selection= response.data));
},
data() {
return {
a_selection: null,
b_selection: null,
data: [{id_a: 2, id_b: 3},{id_a: 5, id_b: 10}]
}
}
};
</script>
当我尝试绘制这个时,我收到了 vue 警告:
[Vue warn]: Error in render: "TypeError: Cannot read property '2' of null"
并输入错误:
TypeError: Cannot read property '2' of null
出于某种原因,这样做会给我带来一些错误,但最终正确显示了想要的表格。 谁能帮我理解这里发生了什么?
【问题讨论】:
-
您收到错误“无法读取 null 的属性 'x'”,因为
a_selection和b_selection为 null,并且在您的模板中您尝试使用x访问它们是dataset.id_a或dataset.id_b。
标签: javascript vue.js axios frontend