最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:18:45
文档

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

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)
推荐度:
导读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)


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将对象新增的属性添加到检测序列的方法

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)
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top