BaiqiCMS V1.2.5 正式版

Nginx/IIS/Apache PHP5.3+ MySQL5.7+

外贸型/营销型/品牌企业网站建设首选CMS

vue父组件传值子组件,子组件值修改后父组件值也改变问题

在vue开发过程中,遇到一下问题,在父组件中将一个对象传递给子组件,子组件使用 props 接收,然尔在修改子组件的值时,发现父组件的值也变了,变成了子组件修改后的值,在某个功能开发中这种效果不是想要的。

原因

按说在 vue 中需要遵循单向数据流原则,props 是单项绑定的,当父组件的属性变化时,会传给子组件,但是子组件原则上是不可以修改传过来的值的。这是为了防止子组件无意修改了父组件的状态。但是在某些情况下,子组件是能修改父组件的值的。

props 的类型为基本数据类型时,子组件不能改变父组件的值

props 的类型为引用数据类型时,子组件是可以改变父组件的值的

解决办法

1、单独(基本数据类型)赋值,不赋值对象(引用数据类型)

2、使用JSON.parse(JSON.stringify(data)) 处理数据

3、其他深拷贝方法处理数据

Vue数据类型

1、基础类型:Number(数字)、String(字符串)、Boolean(布尔)、Date(日期)、Array(数组)、Object(基础对象)。

2、其他类型:Function(方法)、Symbol(属性)。

BaiqiCMS工作室专注各类企业网站建设,小程序开发,提供高品质的企业网站制作和小程序开发,为企业客户提供一站式网站解决方案。

×
BaiqiCMS官方客服

微信二维码

关闭