vue将对象新增的属性添加到检测序列的方法
更新时间:2018年02月24日 14:41:35 作者:twmay006
下面小编就为大家分享一篇vue将对象新增的属性添加到检测序列的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
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将对象新增的属性添加到检测序列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
el-table表格动态合并相同数据单元格(可指定列+自定义合并)
工作时遇到的el-table合并单元格的需求,本文主要介绍了el-table表格动态合并相同数据单元格(可指定列+自定义合并),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2023-07-07
使用ElementUI el-upload实现一次性上传多个文件
在日常的前端开发中,文件上传是一个非常常见的需求,尤其是在用户需要一次性上传多个文件的场景下,ElementUI作为一款非常优秀的Vue.js 2.0组件库,为我们提供了丰富的UI组件,本文介绍了如何使用ElementUI el-upload实现一次性上传多个文件,需要的朋友可以参考下2024-08-08


最新评论