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


 

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

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

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

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

  ...

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

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

  

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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM