vue源码解析 —— 数据绑定

1. 前言:因为vue源码是比较复杂的,考虑的东西比较多;而这里只是简单的了解下类似vue的mvvm框架的部分原理,所以我们用这个库: https://github.com/DMQ/mvvm  (仿vue实现的mvvm库,比vue简洁,简单) ==>> 下面称其为 mvvm

 

2. 概念:

2.1  数据绑定  ==>> 效果

        一旦更新了 data 中的某个属性数据, 所有界面上直接使用或间接使用了此属性的节点都会更新。

2.2   数据劫持  ==>> 技术

        1) 数据劫持是 vue 中用来实现数据绑定的一种技术

        2) 基本思想: 通过 defineProperty()来监视 data 中所有属性(任意层次)数据的变化, 一旦变化就去更新界面

 

3. 实现原理 ==>> 面试可用

        数据代理给vm(vue实例对象)生成data里面的 xxx 属性,并添加了get和set方法;

        数据劫持是直接给data里面的xxx属性添加get和set方法;

        一旦调用 this.xxx = 123; 后,vm的set方法监听到了值得变化,而vm的set方法会去改变data的值,这样又使data的set方法监听到了变化,从而更新界面!

 

文章仅为本人学习过程的一个记录,仅供参考,如有问题,欢迎指出!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值