Vue3.0中常用的组合API有哪些?

(1)ref、toRefs、toRef、isRef

  • ref 用于定义响应式变量、快捷DOM访问。
  • 基本语法:const a = ref(1) // {value:1}
  • 基础使用: 一般用于定义 String、Number、Boolean 这种基于数据类型,外在表现统一使用 .value 访问。
  • 补充:ref 还可以访问 DOM对象或者组件实例对象,可做DOM操作。
  • toRef、toRefs 用于把一个object的变量,变成响应式的变量。
  • 基本语法:const msg = toRef(obj, key) // 把obj[key]变成响应式的
  • 基本语法:const { msg } = toRefs(obj) // 把整个obj都变成响应式的
  • unref 返回一个变量的值
  • 基本语法:const x = unref(x) // 如果x是ref变量则返回x.value,如果x不是ref变量则直接返回x。
  • isRef 用于判断一个变量是不是ref响应式变量
  • 基本语法:const bol = isRef(x)
function useUpdBoxStyle() {
   
  const el = ref(null)
  const updateStyle = color => {
   
    el.value.style.color = color
  }
  return [el, updateStyle]
}

(2)shallowRef、triggerRef

  • shallowRef 用于性能优化,只对对象的第一层进行proxy
  • 基本语法:const obj = shallowRef({a:1,b:{c:{d:{e:2}}}})
  • triggerRef 用于手动触发那些shallowRef的变量进行更新视图
  • 基本语法:triggerRef(obj) // 当obj.value.b.c.d发生变化,triggerRef(obj) 强制更新视图。
  • customRef 自定义ref,把ref变量拆成get/set的写法
  • 基本语法:customRef((track, trigger) =>({get,set})
function useObj() {
   
  const obj = {
    a: 1, b: {
    c: {
    d: 2 }}}
  const obj1 = ref(obj)
  const obj2 = shallowRef(obj)
  // console.log('obj1', obj1)
  // console.log('obj2', obj2)

  const changeObj = (obj,
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值