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>
相关推荐
长安11082 分钟前
web后端----oatpp临时笔记
笔记
wuhen_n10 分钟前
Vue3 组件中的图片懒加载与渐进式加载
前端·javascript·vue.js
wuhen_n18 分钟前
Vite 构建层面的图片优化:从压缩到转换
前端·javascript·vue.js
Irene199119 分钟前
Vue3 的 Proxy 与 Vue2 的 Object.defineProperty 的对比
vue.js·proxy·defineproperty
hashiqimiya19 分钟前
vue项目组装-路由-文件修改地方
前端·javascript·vue.js
妄汐霜27 分钟前
小白学习笔记(spring框架ioc)
笔记·学习
arvin_xiaoting28 分钟前
OpenClaw学习总结_I_核心架构_5:Memory系统详解
学习·系统架构·学习总结·ai agent·openclaw·memory系统
却道天凉_好个秋37 分钟前
音视频学习(九十八):Profile
学习·音视频·profile
Kapibalapikapi38 分钟前
操作笔记 | Ubuntu Server VMware虚拟机的文件传输
笔记·操作文档
@yanyu66639 分钟前
04vue3基础
前端·javascript·vue.js