为了账号安全,请及时绑定邮箱和手机立即绑定

vue子组件,如何根据父组件传进来的id,去查询详情,并在子组件中显示?

vue子组件,如何根据父组件传进来的id,去查询详情,并在子组件中显示?

炎炎设计 2019-03-12 13:15:41
如果我在组件的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'

}


查看完整回答
反对 回复 2019-03-26
  • 2 回答
  • 0 关注
  • 2251 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信