toRef的使用和特点

toRef的使用和特点

setup() {
const state = reactive({
 gae:5,
 money:100
})
//把响应式数据state对象中的某个属性age变成了ref对象了
const age = toRef(state,'age')
//把响应式对象中的某个属性使用了ref进行包装,变成了一个ref对象
const money = ref(state.money)
}

customRef的使用

自定义hook防抖的函数,value传入的数据,将来数据的类型不确定,所以,用泛型delay防抖的间隔事件,默认是200毫秒
function userDebounceRef<T>(value: T,delay = 200){
let timeOutId:number
return customRef((track,trigger)=>{
 return {
 get() {
 //告诉Vue追踪数据
 track()
 return value
 }
 set(newValue:T) {
 //清除定时器
  cleatTimeout(timeOutId)
  //开启定时器
  timeOutId = setTimeout(()=>{
  value = newVlaue
  //告诉Vue更新界面
  trigger()
  },delay)
 }
 }
})
export default defineComponent({
name:'App',
setup() {
 const keyword = userDebounceRef('abs',500)
}
return {
keyword,
}
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值