如果我在组件的created方法里面,根据id去后台查询详情,可以正常显示,不报错,但是当父组件id值改变后,并不会再次去后台查询了,,假如我后台返回的对象时detail,如果写在computed里面写detail: { get() { let detail const gameId = this.id querySingleGameDetail(gameId).then(response => { detail= response.data.data.detail//我们的结构就是这样的 }) return detail } },页面就无法正常显示,比如在某标签使用了 {{detail.content}},js就会报错Error in render: "TypeError: Cannot read property 'content' of undefined",所以我现在就是在父组件获取详情,直接把详情传入给子组件,但是我觉得这么做不优雅,所以想咨询下各位,有没有更好地解决办法
2 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
子组件可以这么写:
props:['id'],
data(){
return {
detail: {} ,
}
},
methods: {
get(id) {
...
}
},
watch: {
id: 'get'
}
添加回答
举报
0/150
提交
取消