费县信息港,湘潭县视频网,超级解霸官网
vue中将对象中新增的属性增加到检测序列中
deepcopy(o1, o2) { // 将o2的内容拷贝给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, i, {}) this.deepcopy(o1[i], o2[i]) } else { this.$set(o1, i, 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, key, {}) this.deepcopy(o1[key], o2[key]) } else { this.$set(o1, key, o2[key]) } } } else { o1 = o2 } }
由于 vue 不允许动态添加根级响应式属性,所以你必须在初始化实例前声明根级响应式属性,哪怕只是一个空值
如果一个属性没有事先声明,后面再增加,他不能检测到变化,对于一些固定的结构,是可以检测到变化的。比如我知道一个obj里面必然有key1、key2属性,我可以事先初始化。如果这些东西是动态的,我没法事先声明。后面再增加,vue没法检测到变化了。
这时将你已经在data中声明的变量和你要赋给这个变量的值作为参数传进该函数就行了
以上这篇vue将对象新增的属性添加到检测序列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
vue 路由懒加载中给 Webpack Chunks 命名的方法
网友评论