vue 子组件修改父组件变量问题

 

  昨天遇到一个这样的场景, 主页面引用了一个子页面,子页面有个Redio选择,2个选项。

  默认的,会从父组件传递一个参数给子组件作为默认值,实现默认选中效果,以及用来做反选。

  开始没什么问题,页面都摆上去了,但是当我点击进行选择的时候,console控制器抛出异常了,提示我不能在子组件里修改父组件传递过来的值。

  网上查证了一番,原因是父组件往子组件传值默认是单向绑定的,不允许在子组件修改值。

  ...

  网上有些答案, 不过有点坑,最后还是问的公司的前端解决了,做法是这样的:

  在子组件定义watch方法,监听父组件传递的变量的值,然后把值赋值给子组件内部自己定义的变量即可,如图:

  

  watch里面的事件名称即父组件传递的变量名,参数val是变量的值,具体用法如图所示。

  这样就很好的解决了子组件会修改父组件值的问题。

 

转载于:https://www.cnblogs.com/sunshine-wy/p/11064761.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值