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>
相关推荐
Cdlblbq14 分钟前
搜索会员中心 创作中心Vue2项目一键打包成桌面应用
前端·javascript·vue.js·electron
大学生小郑43 分钟前
如何定义图像质量,如何评价图像质量
图像处理·学习·音视频·视频
三品吉他手会点灯1 小时前
C语言学习笔记 - 9.C概述 - 常见问题答疑
c语言·笔记·学习
网络工程小王1 小时前
【hermes多智能体协作】个人学习笔记
笔记·学习·ai·智能体·hermes
A_nanda1 小时前
vue实现后端传输逐帧图像数据
前端·javascript·vue.js
Star Learning Python2 小时前
20260422-《我不擅长的生活》
笔记·生活
Fanfanaas2 小时前
Linux 系统编程 进程篇(五)
linux·服务器·c语言·网络·学习·进程
Amazing_Cacao2 小时前
品鉴师体系闭环:拒绝刻板记忆,打磨具备强悍迁移性的底层判断语言
笔记·学习
yi.Ist2 小时前
2025CCPC郑州邀请赛
c++·学习·算法·acm
当时只道寻常2 小时前
Vue3 集成 NProgress 进度条:从入门到精通
前端·vue.js