Vue学习笔记-Vue3中的customRef

作用

创建一个自定义的ref,并对其依赖项的更新和触发进行显式控制

案例

描述:向输入框中输入内容,在下方延迟1秒展示输入内容

代码:

javascript 复制代码
<template>
  <input type="text" v-model="keyword">
  <h3>{{keyword}}</h3>
</template>

<script>
import {customRef} from 'vue'
export default {
  name: 'App',
  setup(){
    function  myRef(value){
      return customRef((track, trigger)=>{
        let timer
          return{
            get(){
              console.log('正在读取数据...:',value)
              //通知vue追踪value的变化
              track();
              return value
            },
            set(newValue){
              console.log('数据发生改变,新数据为:',newValue)
              clearTimeout(timer)
              // //将新值赋给value
              // value = newValue;
              // //通知vue重新解析模板
              // trigger();
              timer = setTimeout(()=>{
                value = newValue;
                trigger();
              },1000)
            }
          }
      })
    }
    //写一个自定义的myRef
    let keyword = myRef('hello')
    return{
      keyword
    }
  },
}
</script>

<style>

</style>
相关推荐
zore_c4 小时前
【C语言】文件操作详解2(文件的顺序读写操作)
android·c语言·开发语言·数据结构·笔记·算法·缓存
狐574 小时前
2025-12-03-LeetCode刷题笔记-3625-统计梯形的数目-II
笔记·leetcode
m0_740043734 小时前
mapState —— Vuex 语法糖
java·前端·javascript·vue.js
冬夜戏雪4 小时前
【java学习日记】【2025.12.4】【4/60】
java·开发语言·学习
d111111111d4 小时前
STM32低功耗学习-待机模式-(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
TL滕4 小时前
从0开始学算法——第七天(快速排序算法)【面试高频】
笔记·学习·算法·面试·职场和发展·排序算法
重生之我在番茄自学网安拯救世界4 小时前
网络安全中级阶段学习笔记(五):CSRF跨站请求伪造学习笔记(超全总结)
笔记·学习·网络安全·csrf·跨站请求伪造
浩瀚地学4 小时前
【Java】方法
java·开发语言·经验分享·笔记
zhougl9964 小时前
学习-深入学习SQL语句
数据库·sql·学习
('-')4 小时前
《从根上理解MySQL是怎样运行的》第二十三章笔记
数据库·笔记·mysql