博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue 响应式原理
阅读量:4111 次
发布时间:2019-05-25

本文共 744 字,大约阅读时间需要 2 分钟。

不废话,直接上源码

function vue() {  this.$data = { aaa: 1 };  this.el = document.getElementById('app');  this.virtualdom = '';  this.observe(this.$data);  this.render()}vue.prototype.observe = function (obj) {  var self = this;  var value;  for (var key in obj) {    value = obj[key];    if (typeof value == 'object') {      this.observe(value)    } else {      Object.defineProperty(this.$data, key, {        get: function () {          // 收集依赖          return value        },        set: function (newValue) {          // 调用notify(), 进行diff运算,调用render(),          value = newValue;          self.render()        }      })    }  }}vue.prototype.render = function () {  this.virtualdom = 'i am ' + this.$data.aaa;  this.el.innerHTML = this.virtualdom;}
			

 

转载地址:http://remsi.baihongyu.com/

你可能感兴趣的文章
【Python】学习笔记——-7.5、实例属性和类属性
查看>>
Linux设备模型(总线、设备、驱动程序和类)之四:class_register
查看>>
git中文安装教程
查看>>
虚拟机 CentOS7/RedHat7/OracleLinux7 配置静态IP地址 Ping 物理机和互联网
查看>>
弱类型、强类型、动态类型、静态类型语言的区别是什么?
查看>>
Struts2技术内幕图书 转载
查看>>
Java异常分类
查看>>
项目中的jackson与json-lib使用比较
查看>>
Jackson Tree Model Example
查看>>
j2ee-验证码
查看>>
日志框架logj的使用
查看>>
js-高德地图规划路线
查看>>
常用js收集
查看>>
mydata97的日期控件
查看>>
如何防止sql注入
查看>>
maven多工程构建与打包
查看>>
springmvc传值
查看>>
Java 集合学习一 HashSet
查看>>
在Eclipse中查看Android源码
查看>>
Android-Socket登录实例
查看>>