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

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

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

慕运维8079593 2019-03-21 18:19:38
我要在父组件的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了,请问有什么解决办法吗,谢谢目前的写法,父组件声明要用的值addButtonDisabled传给子组件,子组件内修改,下部分为子组件代码computed: {  addButtonDisabledProp(){    return this.selectSportsType === _const.ALL_SELECTION || this.selectParticipantType === _const.ALL_SELECTION  }},watch:{  addButtonDisabledProp(){    this.$emit('update:addButtonDisabled', this.addButtonDisabledProp)  }},
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

在父组件的 data中声明你需要用到的值来存储子组件的那个值;
因为组件挂载顺序的问题 父组件data声明的时候子组件的data还没有初始化好;
所以你要在父组件mounted中通过this.$refs.xxxx.xxxx拿到这个值,并赋值给data中的值;
父级的computed 会根据这个data中的值重新计算

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

添加回答

举报

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