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>
相关推荐
今天不要写bug6 分钟前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
SadSunset29 分钟前
(15)抽象工厂模式(了解)
java·笔记·后端·spring·抽象工厂模式
汝生淮南吾在北32 分钟前
SpringBoot+Vue养老院管理系统
vue.js·spring boot·后端·毕业设计·毕设
lemon_sjdk1 小时前
java学习——枚举类
java·开发语言·学习
hd51cc2 小时前
MFC控件 学习笔记二
笔记·学习·mfc
习惯就好zz2 小时前
画画抓型学习总结
学习·九宫格·画画·抓型
馬致远2 小时前
Vue -组件入门
javascript·vue.js·ecmascript
Surpass余sheng军2 小时前
AI 时代下的网关技术选型
人工智能·经验分享·分布式·后端·学习·架构
颜颜yan_3 小时前
DevUI + Vue 3 入门实战教程:从零构建AI对话应用
前端·vue.js·人工智能