Vue3 开发手册2.0——ref+reactive

70 阅读1分钟

ref 与 reactive 都是响应式开发。

ref 与 reactive 的区别

  • 定义的角度上:
    • ref 定义基本数据类型
    • reactive 定义数组、对象等复杂数据类型
  • 原理角度上:
    • ref 通过Object.defineProperty()的 get 与 set 实现响应式
    • reactive 通过Proxy实现响应式,并通过Reflect对原本数据进行增删改查
  • 使用角度上:
    • ref 定义的数据,读取数据不需要value,操作数据时需要.value。即在html展现数据时不用.value,但是在setup对数据进行更改时,需要.value才能获取到值
setup(){
    // 1.1 定义响应式数据
    let car = ref("奔驰") // 返回的是 RefImpl对象
    let info = reactive({
        name:"over",
        age:18,
    })
    // 1.2 修改响应式数据
    function changeData(){
        name.value="宝马" // ref 需要.value
        info.age = 55 // reactive 直接正常用
    }
}