仅仅为了方便学习记录信息,未有其他用途。(采摘)
shallowReactive 与 shallowRef
shallowReactive : 只处理了对象内最外层属性的响应式(也就是浅响应式)
shallowRef: 只处理了value的响应式, 不进行对象的reactive处理
readonly 与 shallowReadonly
readonly :只读代理是深层的:访问的任何嵌套 property 也是只读的。
shallowReadonly:创建一个代理,使其自身的 property 为只读,但不执行嵌套对象的深度只读转换
toRaw 与 markRaw
toRaw: 返回由 reactive 或 readonly 方法转换成响应式代理的普通对象。这是一个还原方法,可用于临时读取,访问不会被代理/跟踪,写入时也不会触发界面更新。
markRaw: 标记一个对象,使其永远不会转换为代理。返回对象本身.
toRef()
toRef 为源响应式对象上的某个属性创建一个 ref对象, 二者内部操作的是同一个数据值, 更新时二者是同步的
区别ref: 拷贝了对象属性的一份新的数据值单独操作, 更新时相互不影响
customRef
创建一个自定义的 ref,并对其依赖项跟踪和更新触发进行显式控制.
{ {keyword}}
import { ref, customRef } from 'vue'
export default {
setup () {
const keyword = useDebouncedRef('', 500)
ret