A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

当组件间传递对象时,由于此对象的引用类型指向的都是一个地址(除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝),所以会导致下面的问题:

var obj = {a:10};
var obj2 = obj;
obj2.a = 20; // obj2.a改变了,
alert(obj.a); // 20,obj的a跟着改变
如果需要这种双向数据绑定的话,那么是最好的,但是如果不需要,而是希望各组件的对象数据之间相互独立,即是互不关联的对象的副本的话,那么可以使用下面的方法:

computed: {
   data: function () {
     var obj={};
     obj=JSON.parse(JSON.stringify(this.templateData)); //this.templateData是父组件传递的对象
     return obj
  }
}

---------------------
【转载,仅作分享,侵删】
作者:努力_才幸福
原文:https://blog.csdn.net/weixin_38098192/article/details/80430036
版权声明:本文为博主原创文章,转载请附上博文链接!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马