我对Vue数据响应式的理解

代码示例

const vm = new Vue({
  data: {
    n: 0
  },
  template:`
    <div>{{n}}<div>
  `
}).$mount("#app")

当data中n的内容发生改变的时候,Vue可以监听这种改变,并将更新后的n呈现到页面上
那么Vue是怎么做到的呢?

首先Vue会在new Vue的时候对data中的数据进行处理,通过Object.defineProperty和getter/setter等方式用一个虚拟的n覆盖掉上面传入的n;
然后当我们通过别的操作修改n的值的时候,修改的其实是虚拟的n的值,而Vue可以监听虚拟的n的变化,在监听的过程中,可以进行对视图的修改等操作,这样Vue就可以通过监听n的变化进行响应式操作

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 摘要: 搞懂Vue响应式原理! 作者:浪里行舟 原文:深入浅出Vue响应式原理 Fundebug经授权转载,版权归...
    Fundebug阅读 10,799评论 0 9
  • [TOC] Vue 学习笔记 Vue 源码解析 - 主线流程 Vue 源码解析 - 模板编译 Vue 源码解析 -...
    Whyn阅读 5,180评论 0 2
  • 前言 Vue.js 的核心包括一套“响应式系统”。 “响应式”,是指当数据改变后,Vue 会通知到使用该数据的代码...
    NARUTO_86阅读 37,727评论 8 86
  • 前言 观察者模式理解 首先需要对发布订阅和观察者模式有所了解。发布-订阅vs观察者模式。 观察者模式是一种 一对多...
    Alee文润阅读 3,798评论 0 1
  • 写在前面 我相信很多同学对Vue的数据响应式是通过Vue.js文档[https://link.zhihu.com/...
    luci_dity阅读 2,732评论 0 0

友情链接更多精彩内容