一、了解Object.defineProperty 值得一说的是,get函数和set函数不能与value、writable共同使用否则就会出现
property descriptors must not specify a value or be writable when a getter or setter has been specified
当指定了getter或setter时,属性描述符不能指定值或可写
初识vue - 锐客网
二、数据代理 1.定义 数据代理:通过一个对象代理对另一个对象中属性的操作(读或写)
下面这个小案例就是通过obj2来操作obj
初识vue - 锐客网
文章图片
2.Vue中的数据代理 Vue中数据代理:
通过vm对象来代理data对象中属性的操作(读或写)
Vue中数据代理的好处:
更加方便的操作data中的数据
基本原理:
通过Object.defineProperty()把data对象中所有属性添加到vm上
为每个添加到vm上的属性都指定一个getter和setter
在getter/setter内部去操作(读或写)data中对应的属性
文章图片
文章图片
假设我们没有数据代理,我们在使用插值语句的时候使用了_data.xxxx这样就增加了代码量,也非常的不方便,故我们使用了上面的数据代理
初识vue - 锐客网 {{_data.name}}
{{_data.address}}
【Vue|数据代理-Object.defineProperty -Vue中的数据代理】
推荐阅读
- Vue|事件处理、事件修饰符(详细)
- vue|vue-vue3(4)-计算属性与监视computed,watch,watchEffect
- vue|前端之vue计算属性与监视属性
- Vue|Vue(计算属性与监视属性)
- 前端框架Vue|前端框架Vue----监视属性
- 前端|ES6模块化使用_前端培训
- #|vu2 尚硅谷 组件化编程
- vue|Vue3.0 使用 ant-design-vue
- 前端学习历程总结|猿创征文|我的前端学习之旅【来自一名大四老学长的真情流露】