在日常的Vue开发工作中,我们经常对请求来的数据进行变量赋值操作,再用变量去进行数据渲染。 然而我们知道,我们经常用的赋值方式 “=” 实际上属于数据的浅拷贝,也就是当你改变赋值变量时,原数据也会发生相应变化。var a = ['1', '2', '3', '4', '5'];

var b = a;

b[0] = '2';

console.log(a); // ['2', '2', '3', '4', '5']

console.log(b); // ['2', '2', '3', '4', '5']

//因为b浅拷贝a, ab指向同一个内存地址(堆内存中存的值)

那当我们需要改变变量的值但是不改变原来数据的时候,我们可以借助JSON方法来实现数据的深拷贝赋值:JSON.parse(JSON.stringify(this.responseData));

e.g:let data1 = this.selectform.keyList

let data2 = JSON.parse(JSON.stringify(this.selectform.keyList))

data1.a = 'test'

console.log(data1.a) // test

console.log(this.selectform.keyList.a) // test

data2.a = 'test222'

console.log(keydata2.a) // test222

console.log(this.selectform.keyList.a) // test

*附深浅拷贝示意图:

浅拷贝:

深拷贝:

vue对象深拷贝_Vue 对数据对象实现深拷贝赋值相关推荐

  1. vue 字典配置_vue遍历数据及字典的方法

    数组:数值 {{ item.message }} 数组:数值加索引 {{ item.msg }} {{index}} 字典:key value index {{ value }} {{key}} {{ ...

  2. 我的KT库之----数据对象

    了解或者认识KT: http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html 在项目中如何使用KT? KT是一个库,所以将KT的dl ...

  3. 简述oracle的主要数据库对象,Oracle数据库数据对象分析

    Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...

  4. 数据对象、属性和相似性

    文章目录 数据对象.属性和相似性 数据对象 属性 属性类型 数据对象相似性.相异性 数据对象.属性和相似性 数据对象 别名:样本.实例.数据点 或 对象 一般使用属性对应属性值来描述数据对象 哈士奇: ...

  5. Redis教程:数据对象分析(一)

    目录 1 五种基本数据对象 2 数据结构对象分析 2.1 类型 2.2 编码与底层实现 2.3 编码转换 1 五种基本数据对象 图1 redis数据对象 2 数据结构对象分析 Redis中的每个对象都 ...

  6. ORACLE 常用的SQL语法和数据对象

    一.数据控制语句 (DML) 部分 1.INSERT  (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, 字段名2, --) VALUES ( 值1, 值2, --); INSE ...

  7. 数据库:数据类型、数据项、数据元素、数据对象、数据结构的概念与相互之间的关系

    一.数据类型 概念:一个值的集合和定义在这个值集上一组操作的的总称. (一个值的集合怎么理解呢,比如在C语言中,char类型数据范围是:-127~128,.而一组操作可以理解为类型所支持的操作方式,比 ...

  8. 什么事数据对象以及属性分为什么类型?

    数据对象与属性类型   数据集由数据对象组成.一个数据对象代表一个实体.例如,在销售数据库中,对象可以是顾客.商品或销售;在医疗数据库中,对象可以是患者;在大学的数据库中,对象可以是学生.教授和课程. ...

  9. 服务数据对象简介(Java 环境中的下一代数据编程)

    如果您认为 J2EE 编程模型和 API 迫使开发人员在特定于技术的配置.编程和调试上浪费了太多的时间,那么欢迎您阅读本文.很多 Java™ 开发人员都怀疑如何能以统一的方式访问异构的数据,并对各种提 ...

最新文章

  1. 实用的人工智能 但数据 Python 速查表
  2. 2018 icpc 徐州现场赛G-树上差分+组合数学-大佬的代码
  3. 关于ES、PES、PS以及TS码流
  4. 风险平价策略python代码_风险平价组合(risk parity)理论与实践
  5. beta冲刺(1/7)
  6. ios uiview 如何刷新_2020最新迅雷苹果版如何下载?
  7. Spring-MetadataReader接口
  8. http代码_ssssssss 0.0.1 发布,无需代码的 HTTP 接口快速开发框架
  9. 小米手机MIUI刷机教程(小米6等)
  10. spring定时器的简单实用
  11. 基于k8s的CICD实现
  12. Java实现特征保持的图像加密算法
  13. 计算机专业学生如何规划好大学四年的学习
  14. 采用神经网络进行城市中长期负荷预测的一种信息系统
  15. HTTPS(三)之JAVA 不校验HTTPS服务器证书
  16. linux查询数据库归档日志,关于 Oracle 归档日志
  17. Python——提取复数类型的数组的的实数部分和虚数部分
  18. Direct3D11学习经历分享
  19. win10+ubuntu双系统之三步彻底删除ubuntu系统
  20. 翻译Houdini官方文档:PDG教程之HDA处理器

热门文章

  1. 【客户下单】后台系统匹配分区关键字实现自动分单
  2. c语言图形界代码,求个用最简单的的代码来实现图形界面…
  3. java arrays.equals_Java Arrays类的常见使用
  4. android中11种常见传感器的使用方法
  5. 最优化——线性规划中最大规划和最小规划之间的转换
  6. python apscheduler 阻塞方式只用一个线程_框架APScheduler在python中调度使用的实例详解...
  7. php tcp封包,tcp调试神器:wireshark
  8. java神剑30变_改动对比 - 神剑养成(一) (MengSword1) - MC百科|最大的Minecraft中文MOD百科...
  9. exit()、_Exit() 和 _exit() 函数的区别和联系
  10. 山东管理学院计算机专业在哪个校区,2019年山东管理学院新生在哪个校区及新生开学报到时间...