【发布时间】:2023-03-17 08:32:01
【问题描述】:
我使用的是vue 2。我有一个来自ajax的数据,这是我的代码示例:
<template>
<div>
<input type="input" class="form-control" v-model="siteInfo.siteId">
<input type="input" class="form-control" v-model="siteInfo.info.name">
<input type="input" class="form-control" v-model="siteInfo.accountData.name">
</div>
</template>
<script>
export default {
name: 'Site',
data() {
return {
siteInfo: {},
/* siteInfoName: '', */
}
},
/*computed: {
siteInfoName: function() {
return siteInfo.info.name || '';
},
...
},*/
methods: {
getData() {
// do ajax get data
this.$http.post('URL', {POSTDATA}).then(response => {
/*
response example
{ body:
data: {
sitdeId: 1,
info: { name: 'test'},
accountData: { name: 'accountTest'},
}
}
*/
this.siteInfo = response.body.data;
})
}
},
mounted() {
this.getData();
}
}
</script>
我收到了一条交战信息
[Vue 警告]:渲染错误:“TypeError:无法读取属性‘名称’ 未定义”
- 我可以使用
computed来修复它,但是如果我有很多模型,我应该 写很多计算。 - 我应该为这些模型创建大量数据吗?
- 我不应该使用对象来绑定批次模型吗?
对于这种情况,它有其他解决方案吗?谢谢你的帮助。
【问题讨论】:
-
“URL”应该是这样的吗?还是只是为了躲避 SO?以防万一。
-
我添加了响应数据samepl
-
我只是想知道这个案例有什么好的解决方案。
标签: vue.js