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

如果我在组件的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",


所以我现在就是在父组件获取详情,直接把详情传入给子组件,但是我觉得这么做不优雅,所以想咨询下各位,有没有更好地解决办法


炎炎设计
浏览 2252回答 2
2回答

呼唤远方

子组件可以这么写:props:['id'],data(){     return {       detail: {} ,     }  },methods: {    get(id) {        ...    }},watch: {    id: 'get'}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript