如何在关系视图上呈现对象?

  • 本文关键字:对象 视图 关系 vue.js
  • 更新时间 :
  • 英文 :


这是我的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不存在,则不会渲染该元素。

最新更新