问题
父级组件与子组件的通信一般都是通过props来实现的,因为数据流向的单一才能保证数据变化的可追踪性,在vue中props遵循的是单向数据流,原则上子组件修改props是不被允许的。
但是当props传递的参数为对象或者数组的时候,是通过引用传入的,所以对于一个引用类型的prop来说,在子组件中改变这个参数本身将会影响到父组件的数据状态。更关键的是,我们打开控制台,会发现完全没有报错...
这就会导致父组件的data混乱,而且难以捕捉,所以对于这种情况可以这样处理。
解决方案
在子组件中声明新变量,然后把prop深拷贝赋值给新变量,之后子组件就使用新变量。
但是这种情况下父组件改变参数时,子组件无法更新参数,需要时可以通过watch或者computed来实现实时更新
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。