Vue 数据响应式

对于如下代码:

const vm = new Vue({data:{n:0}})
  1. new Vue内部对data对象进行监听,即一旦修改n的值以后,的值会立马变成修改后的值,如果在页面显示n的值的话,n会显示出修改后的值。
  2. new Vue会用一个变量把当前n的值保存下来,假设这个变量叫做xxx
let n = data.n
  1. Object.defineProperty给data对象一个虚拟的属性(假设为n),通过getter/setter方法模拟对’n’的读写操作同时覆盖原来的值,这样就保存了原始的值且不会被修改,使得数据更加的安全,getter/setter方法是ES6的语法。
  2. new Vue对data对象设置代理:创建一个空对象const obj = {},通过Object.defineProperty给obj对象虚拟属性’n’,getter/setter方法返回了new Vue对data监听过的data.n,是我们需要获得或者设置的值。
  3. 即使没有给它取名为vm,但是只要new Vue之后就会产生代理对象,可以使用this访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值