vue将对象新增的属性添加到检测序列的方法

vue中将对象中新增的属性增加到检测序列中

内容拷贝给data中的o1 var key,i if (o2 instanceof Array) { for (i = 0; i < o2.length; i++) { if (o2[i] instanceof Array) { this.$set(o1,i,[]) this.deepCopy(o1[i],o2[i]) } else if (o2[i] instanceof Object) { this.$set(o1,{}) this.deepCopy(o1[i],o2[i]) } else { this.$set(o1,o2[i]) } } } else if (o2 instanceof Object) { for (key in o2) { if (o2[key] instanceof Array) { this.$set(o1,key,[]) this.deepCopy(o1[key],o2[key]) } else if (o2[key] instanceof Object) { this.$set(o1,{}) this.deepCopy(o1[key],o2[key]) } else { this.$set(o1,o2[key]) } } } else { o1 = o2 } } @H_404_3@

由于 Vue 不允许动态添加根级响应式属性,所以你必须在初始化实例前声明根级响应式属性,哪怕只是一个空值

如果一个属性没有事先声明,后面再增加,他不能检测到变化,对于一些固定的结构,是可以检测到变化的。比如我知道一个obj里面必然有key1、key2属性,我可以事先初始化。如果这些东西是动态的,我没法事先声明。后面再增加,vue没法检测到变化了。

这时将你已经在data中声明的变量和你要赋给这个变量的值作为参数传进该函数就行了

以上这篇vue将对象新增的属性添加到检测序列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家。

相关文章

问题现象 elmentui的el-tree数据加载问题,导致第一次加载选中当前节点和高亮当前节点没有生效。 解决方...
因为刚打开文件,vscode默认是预览状态,如果编辑过之后,就不会有这个问题。 可以通过双击将预览状态接...
前言 上篇文章我们介绍了国产SM4加密算法的后端java实现方案。没有看过的小伙伴可以看一下这篇文章。 h...
在项目中引入动态路由时报错 写法: 报错: Module build failed (from ./node_modules/_eslint-loader@2...
问题产生 在使用babel编译es6时,遇到报错Uncaught ReferenceError: regeneratorRuntime is not define...
父组件的编写 &amp;lt;a:orgCode=orgCode &amp;gt;&amp;lt;/a&amp;gt; 在data里面增加...