错误截图如上,原因是 vue是单向数据流,识别到了子组件中对父组件传来的值进行了改变
父传子修改前
父组件:
子组件:
本意是想要从父组件中传给子组件一个 数,在子组件中接收值并进行 +1 的行为
就会出现上述的错误Unexpected mutation of ******,也是通过查找资料,发现与vue是单向数据流有关!
我的思路是,声明一个新的变量,来装父组件传来的值,对其进行修改,这样就能避免直接对父组件传来的值进行改变
修改后
父组件不变,子组件:
声明一个num变量,其默认值就是从父组件中传来的值props1
写对应的方法的内容,即把num值进行++操作
父传子实现的效果
子传父
目的也是希望子组件中修改后的值传给父组件
子组件:
自定义事件名为aaa,值为num.value
父组件:
将子组件中改变后的值再传回给父组件,父组件中也能有+1的变化
效果:
子传父 父传子 最终效果
我的文章内容较为浅显,只是我自己在学习过程中出现的问题的记录,后续深度研究会更新文章。
如果想深度研究的小伙伴,可以去查查vue的单向数据流!