为了账号安全,请及时绑定邮箱和手机立即绑定

vue2.0中子组件会修改props初始值

vue2.0中子组件会修改props初始值

慕田峪7331174 2018-10-10 09:22:09
1.我用父组件向子组件传了一个props是一个数组,然后子组件中把props赋值给子组件中的data,然后修改data的时候,props竟然变了2.concat也试了,不行,用concat赋值完后比较子组件的list和props的initlist是false,但改变list后,props的initlist任然会变得和list一样还有可能就是我数组中的元素是对象,虽然数组的指向不一样了,但其中的对象的指向还没改变找到答案竟然不能自问自答,原因和上面说的一样,我的数组里面是对象,虽然数组指向变了,但里面的对象的指向还是相同的。改变赋值后的数组里面对象的值,初始数组里面对象的值一样会改变。解决方法就是把初始数组里面的对象属性进行深层拷贝
查看完整描述

1 回答

?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

感觉这个地方设计的有点问题,如果父组件传过来的不是一个对象或者数组(比如说是单纯的字符串或者是数字)由于数据类型是基本类型而并非引用类型而导致不能修改,而传入的是一个完整对象的时候由于是引用类型他是可修改的,那如果我不希望这个值被修改这样的传值无形中增加了父子组件的耦合有什么办法可以传入对象让子组件无法修改,或者传入字符串让之组件可以修改


查看完整回答
反对 回复 2018-11-12
  • 1 回答
  • 0 关注
  • 511 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号