这是我的laravel:
$user->load('company', 'status', 'role');
return responseData($user);
这是我的vue2代码:
axios.get(`http://localhost:81/admin/users/get/${this.$route.params.id}`)
.then(response => {
this.user = response.data
});
和v模型:
<input type="text" placeholder="Company" v-model="user.company.name">
它仍然显示company.name,但得到警告:
[Vue warn]: Error in render: "TypeError: Cannot read properties of未定义(读取'name')">
正如Estus Flask所建议的,
当你的组件挂载时,你还没有收到数据。
尝试在输入本身上使用v-if
指令,使用可选的链接,像这样:
<input v-if="user?.company?.name" type="text" placeholder="Company" v-model="user.company.name">
检查user是否存在,company是否存在,name是否存在。如果any不存在,则不会渲染该元素。