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>
相关推荐
光影少年10 分钟前
Vue 2 / Vue 3 diff算法
前端·javascript·vue.js
摸鱼仙人~14 分钟前
简单的GAN生成学习案例
人工智能·学习·生成对抗网络
yanghuashuiyue26 分钟前
Vue3难以统一的命名规范
前端·vue.js·typescript
开放知识图谱29 分钟前
论文浅尝 | G2S:一个用于大语言模型的时间知识图预测的通用到具体的学习框架(ACL2025)
人工智能·学习·语言模型·自然语言处理
好奇龙猫38 分钟前
【人工智能学习-AI-MIT公开课-第二节-推理:目标树与问题求解(方法)】
学习
码界奇点1 小时前
基于Spring Cloud与Vue.js的微服务前后端分离系统设计与实现
vue.js·后端·spring cloud·微服务·毕业设计·源代码管理
丝斯20111 小时前
AI学习笔记整理(36)——自然语言处理
人工智能·笔记·学习
mini_0551 小时前
elementPlus版本升级,el-select默认值显示问题
前端·javascript·vue.js
C_心欲无痕1 小时前
vue3 - watchPostEffect在DOM 更新后的副作用处理
前端·vue.js
好奇龙猫1 小时前
【AI学习-comfyUI学习-第二十二-DepthAnythingV2深度图工作流-各个部分学习】
人工智能·学习