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>
相关推荐
210Brian5 分钟前
蓝桥杯单片机学习笔记(十四) V2026大模板源代码
单片机·学习·蓝桥杯
咸甜适中23 分钟前
rust语言学习笔记Trait(十)PartialOrd、Ord(大小比较)
笔记·学习·rust
小+不通文墨27 分钟前
在树莓派中用*C语言*实现MQTT通信
c语言·经验分享·笔记·嵌入式硬件·学习
笨鸟先飞的橘猫38 分钟前
skynet——服务发现学习
学习·服务发现
-To be number.wan40 分钟前
算法日记 | C++ 结构体
数据结构·学习·算法
嵌入式×边缘AI:打怪升级日志1 小时前
PIR 人体红外控制板载 LED — 保姆级笔记
笔记
IT19951 小时前
Dify笔记-一种知识库文件上传失败报错500解决方法
笔记
大连好光景1 小时前
Skills索引大全
学习·ai编程
Cat_Rocky1 小时前
Linux学习-ansible自动化
linux·学习·ansible
IronMurphy1 小时前
AI Agent 学习笔记 Day 1:大模型基础、API 调用与 Prompt 工程
人工智能·笔记·学习