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 相关文章推荐
jquery获取div宽度的实现思路与代码
Jan 13 Javascript
基于JavaScript实现继承机制之构造函数方法对象冒充的使用详解
May 07 Javascript
js实现图片缓慢放大缩小效果
Aug 02 Javascript
Bootstrap基本组件学习笔记之进度条(15)
Dec 08 Javascript
微信小程序 两种滑动方式(横向滑动,竖向滑动)详细及实例代码
Jan 13 Javascript
jquery实现静态搜索功能(可输入搜索文字)
Mar 28 jQuery
vue跨域解决方法
Oct 15 Javascript
在vue中使用vue-echarts-v3的实例代码
Sep 13 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
May 12 Javascript
微信小程序报错: thirdScriptError的错误问题
Jun 19 Javascript
js实现星星打分效果
Jul 05 Javascript
jQuery实现放大镜案例
Oct 19 jQuery
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
在Win2003(64位)中配置IIS6+PHP5.2.17+MySQL5.5的运行环境
2016/04/04 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
js如何判断用户是在PC端和还是移动端访问
2014/04/24 Javascript
jQuery Migrate 1.1.0 Released 注意事项
2014/06/14 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
使用DeviceOne实现微信小程序功能
2016/12/29 Javascript
jquery与js实现全选功能的区别
2017/06/11 jQuery
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
vue-cli 3.x 修改dist路径的方法
2018/09/19 Javascript
angularJs中ng-model-options设置数据同步的方法
2018/09/30 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
javascript中layim之查找好友查找群组
2021/02/06 Javascript
python的常见命令注入威胁
2013/02/18 Python
Python使用Supervisor来管理进程的方法
2015/05/28 Python
使用python实现rsa算法代码
2016/02/17 Python
Numpy 改变数组维度的几种方法小结
2018/08/02 Python
Python异常处理操作实例详解
2018/08/28 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
通过代码实例解析Pytest运行流程
2020/08/20 Python
三星新西兰官网:Samsung新西兰
2019/03/05 全球购物
使用索引有什么好处
2016/07/27 面试题
应届大学生求职的自我评价
2013/11/17 职场文书
股票投资建议书
2014/05/19 职场文书
医学专业毕业生推荐信
2014/07/12 职场文书
2014年护士长工作总结
2014/11/11 职场文书
离婚协议书范文
2015/01/26 职场文书
签订劳动合同通知书
2015/04/16 职场文书
学校教学管理制度
2015/08/06 职场文书
详解JSON.parse和JSON.stringify用法
2022/02/18 Javascript