为什么vue3要使用ref

vue3中使用ref来创建响应式数据,让习惯了选项式API的我很不习惯。因为得使用xxx.value来读写响应式数据,没有vue2中直接使用this.xxx来读写简洁。

vue3这样设计的原因是原生JavaScript无法拦截对局部变量的读写,只能拦截对对象属性的读写。

// 局部变量a的读写,没法拦截
let a = 1
console.log(a)

// 对象属性b.value的读写,可以通过get/set或proxy拦截
let b = new Proxy({
  get() {
    // ...
  },
  set() {
    // ...
  }
})

 

posted @ 2023-01-30 23:02  hdxg  阅读(432)  评论(0)    收藏  举报
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css