1、reactive 作用是实现数据的响应式
**
vue3.0中 通过 es6 proxy 是想响应式
vue2.0 是通过 defineProerty 来实现的响应式
注意事项:
reactive 参数必须是对象(json/arr)
如果传递了其他对象,修改数据,默认情况下界面不会更新
需要重新赋值
2、ref 本质上还是reactive
**
系统会根据传入 的值 自动转换
ref(xx) => reactive({value:xx})
所以在写代码的时候
<template>
<div>
{{age}}
<button @click="changeAge">改变值</button>
</div>
</template>
<script>
export default(){
setup(){
let age = ref(18)
changeAge(){
// 这里需要通过.value 来获取数据
age.value = 24
}
return {age,changeAge}
}
}
</script>
3、ref 和 reactive 区别
在templte 中 ref 的数据会自动带上.value
reactive 数据不会
4、如何区分ref 和 reactive 数据(通过 isRef 和 isReactive 来区分)
本质了利用ref 数据有个 私有属性 __v_ref 来判断 有这个私有属性 并且为true 则为ref类型的数据