• 设为首页
  • 加入收藏
  • 我要投稿
  • 联系站长
  • 网站模板技术交流
当前位置:模板网首页 > 建站教程 > vue教程,AngularJS教程 >  Vue中解决多个组件引正文

Vue中解决多个组件引用了同一个对象作为数据时,当一个组件改动了数据对象时,其他对象的数据也会随着同步改动的情况

作者:网页模板
类型:文章教程
点击次数:
发布时间:2019-08-15 17:59
分享到:
    当组件间传递对象时,由于此对象的引用类型指向的都是一个地址(除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝),所以会导致下面的问题:
var obj = {a:10};
var obj2 = obj;
obj2.a = 20; // obj2.a改变了,
alert(obj.a); // 20,obj的a跟着改变
    如果需要这种双向数据绑定的话,那么是最好的,但是如果不需要,而是希望各组件的对象数据之间相互独立,即是互不关联的对象的副本的话,那么可以使用下面的方法:
data:{
    return(){
        //data是需要赋值给obj的一个数据,如果直接写obj=data,那么,如果直接 obj1:data,obj2:data  会导致改一个obj,另一个也改变
        obj1: JSON.parse(JSON.stringify(data),
        obj2: JSON.parse(JSON.stringify(data)
    }
}

(责任编辑:网页模板)
  • 本文标签:
  • vue
iview Upload组件多个文件上传,阻止iview自带的上传事件
没有下一篇