我要在父组件的computed中使用子组件的值,有什么办法吗?

computed: {

  addButtonDisabled() {    return this.$refs.queryBox.selectSportsType === _const.ALL_SELECTION
  },
  
  报错,Error in render: "TypeError: Cannot read property 'selectSportsType' of undefined"

百度了下

computed: {
  addButtonDisabled() {    this.$nextTick(()=>{      return this.$refs.queryBox.selectSportsType === _const.ALL_SELECTION
    })
  },

这样才可以获取到

可是这样又没办法用computed了,
请问有什么解决办法吗,谢谢


慕哥9229398
浏览 1480回答 2
2回答

偶然的你

在父组件的 data中声明你需要用到的值来存储子组件的那个值;因为组件挂载顺序的问题 父组件data声明的时候子组件的data还没有初始化好;所以你要在父组件mounted中通过this.$refs.xxxx.xxxx拿到这个值,并赋值给data中的值;父级的computed 会根据这个data中的值重新计算
打开App,查看更多内容
随时随地看视频慕课网APP