美文网首页
深入响应式原理

深入响应式原理

作者: 一名有马甲线的程序媛 | 来源:发表于2018-11-08 15:10 被阅读16次

后台给的返回值如下所示:

data = [{name:'张三',id:'1'},{name:'李四',id:'2'},{name:'王五',id:'3'}]

要实现的功能:点击选中,再点就取消选中
想到的方案是往对象中添加active属性,默认为false,点击变为true,再点变为false,周而复始...

错误方案示例:

for (var i = 0; i < data.length; i++) {
  this.data[i].active = false
}

该方法确实在每个对象中都添加了active属性,但该属性并不能响应式的根据数据变化。
原因是:Vue 不能检测到对象属性的添加或删除。由于 Vue 会在初始化实例时对属性执行 getter/setter 转化过程,所以属性必须在 data 对象上存在才能让 Vue 转换它,这样才能让它是响应的。
解决方案如下:

for (var i = 0; i < data.length; i++) {
  this.$set(this.data [i], 'active', false);
}

点击查看详细学习文档

相关文章

  • VUE双向绑定原理(深入响应式原理)

    vue官网-深入响应式原理 深入响应式原理

  • 详解Vue响应式原理

    摘要: 搞懂Vue响应式原理! 作者:浪里行舟 原文:深入浅出Vue响应式原理 Fundebug经授权转载,版权归...

  • 深入响应式原理

    后台给的返回值如下所示: 要实现的功能:点击选中,再点就取消选中想到的方案是往对象中添加active属性,默认为f...

  • 深入响应式原理

    1.如何追踪变化 通过Object.defineProperty将对象属性转换为getter/setter(ES5...

  • 深入响应式原理

    定义对象 var obj = new Object; //obj = {}obj.name = "张三"; ...

  • 深入响应式原理

    前言 Vue最独特的特性之一,是其非侵入型的响应式系统。数据模型仅仅是普通的JavaScript对象(虚拟DOM)...

  • Vue数据响应式

    本篇主要原理可在深入响应式原理[https://vuejs.bootcss.com/guide/reactivit...

  • vue响应式原理

    谈谈阅读了vue深入响应式原理后的理解 1.响应式原理 在生成vue实例时,为对传入的data进行遍历,使用Obj...

  • VUE学习

    【链接】深入响应式原理http://cn.vuejs.org/guide/reactivity.html 【链接】...

  • 解决 Vue form表单 动态生成 el-checkbox 无

    原理:这是 vue 的深入响应式原理,官方说法和解决方法:Vue 不允许在已经创建的实例上动态添加新的根级响应式属...

网友评论

      本文标题:深入响应式原理

      本文链接:https://www.haomeiwen.com/subject/najwxqtx.html