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


Posted in Javascript onFebruary 24, 2018

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将对象新增的属性添加到检测序列的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 判断浏览器类型 去全角、半角空格 自动关闭当前窗口
Apr 10 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
Nov 21 Javascript
javascript实现信息增删改查的方法
Jul 25 Javascript
javascript模拟C#格式化字符串
Aug 26 Javascript
JQuery在循环中绑定事件的问题详解
Jun 02 Javascript
新闻上下滚动jquery 超简洁(必看篇)
Jan 21 Javascript
Vue仿手机qq的实例代码(demo)
Sep 08 Javascript
JavaScript满天星导航栏实现方法
Mar 08 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
JS实现继承的几种常用方式示例
Jun 22 Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
使用vue for时为什么要key【推荐】
Jul 11 Javascript
jQuery实现碰到边缘反弹的动画效果
Feb 24 #jQuery
vue cli webpack中使用sass的方法
Feb 24 #Javascript
vue-cli常用设置总结
Feb 24 #Javascript
JS处理一些简单计算题
Feb 24 #Javascript
jQuery 改变P标签文本值方法
Feb 24 #jQuery
jQuery实现标签子元素的添加和赋值方法
Feb 24 #jQuery
通过js动态创建标签,并设置属性方法
Feb 24 #Javascript
You might like
php array_filter除去数组中的空字符元素
2020/06/21 PHP
PHP使用DOMDocument类生成HTML实例(包含常见标签元素)
2014/06/25 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
javascript 数组排序函数
2009/08/20 Javascript
js操作textarea方法集合封装(兼容IE,firefox)
2011/02/22 Javascript
javascript中处理时间戳为日期格式的方法
2014/01/02 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
JS模仿腾讯图片站的图片翻页按钮效果完整实例
2016/06/21 Javascript
Bootstrap基本组件学习笔记之列表组(11)
2016/12/07 Javascript
JS闭包用法实例分析
2017/03/27 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
微信小程序 开发MAP(地图)实例详解
2017/06/27 Javascript
bootstrap时间控件daterangepicker使用方法及各种小bug修复
2017/10/25 Javascript
js设置随机切换背景图片的简单实例
2017/11/12 Javascript
浅谈微信页面入口文件被缓存解决方案
2018/09/29 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
用JavaScript实现贪吃蛇游戏
2020/10/23 Javascript
[47:52]DOTA2-DPC中国联赛正赛 iG vs LBZS BO3 第二场 3月4日
2021/03/11 DOTA
Python中用Ctrl+C终止多线程程序的问题解决
2013/03/30 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例
2018/02/13 Python
Python返回数组/List长度的实例
2018/06/23 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
python使用opencv对图像mask处理的方法
2019/07/05 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
Python分类测试代码实例汇总
2020/07/23 Python
TCP/IP的分层模型
2013/10/27 面试题
计算机网络毕业生自荐信
2013/10/01 职场文书
大四本科生的自我评价
2013/12/30 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
楚门的世界观后感
2015/06/03 职场文书
2015年政治教研组工作总结
2015/07/22 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS