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>
相关推荐
Qinn-11 分钟前
【学习笔记】软考系统分析师计算机系统计算题考点
笔记
小lo想吃棒棒糖27 分钟前
华北五省机器人 TonyPi 的新思路:半成品交互式学习工具(魔改动作)
学习·机器人
阿丰资源28 分钟前
Java项目基于SpringBoot+Vue前后端分离在线商城系统(附源码)
java·vue.js·spring boot
圆弧YH28 分钟前
python→ Film
学习
江-月*夜37 分钟前
vue3 wordcloud2.js词云使用
开发语言·javascript·vue.js
吴声子夜歌42 分钟前
Vue3——Vuex状态管理
前端·vue.js·vue·es6
以梦为马无处可栖1 小时前
AxVisor 深度学习笔记-ARM 虚拟化硬件原理
arm开发·笔记·深度学习
三品吉他手会点灯1 小时前
C语言学习笔记 - 5.C概述 - C的应用领域
c语言·笔记·学习
小机学AI大模型1 小时前
别做“预制学习”:AI Agent 从 0 到上线的最短闭环
学习
HalvmånEver1 小时前
MySQL的数据类型(二)
linux·学习·mysql