1、何为数据代理
数据代理:通过一个对象代理对另一个对象中属性的操作(读/写)。
2、JS中实现简单的数据代理
(1)JS有一个内置对象Object数据代理的方法为:Object.defineProperty(obj, prop, descriptor),通过这个方法即可实现数据代理。 (2)参数解析:
- 1)obj----------------------------------->要定义属性的对象
- 2)prop--------------------------------->要定义或修改的属性的名称或 Symbol
- 3)descriptor-------------------------->要定义或修改的属性描述符
3、Vue中的数据代理
1、Vue中的数据代理:
- (1)通过vm对象来代理data对象中属性的操作(读/写)
2、Vue中数据代理的好处:
3、基本原理:
- (1)通过Object.defineProperty()把data对象中所有属性添加到vm上。
- (2)为每一个添加到vm上的属性,都指定一个getter/setter。
- (3)在getter/setter内部去操作(读/写)data中对应的属性。
const vm = new Vue({
el:'#app',
data:{
name: 'Luca',
hobby: 'soccer'
}
})
|