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>
相关推荐
码农的小菜园2 小时前
gradle常用指令使用笔记
笔记
Jave21082 小时前
Vue 中 mixins 混合开发的主要使用场景有哪些?
前端·vue.js
JEECG低代码平台2 小时前
JeecgBoot低代码平台 Ant Design Vue 4.x 升级避坑指南
前端·vue.js·低代码
鸟电波3 小时前
硬件笔记——示波器篇
笔记
Don.TIk3 小时前
SpringCloud学习笔记
笔记·学习·spring cloud
北寻北爱3 小时前
面试题-vue篇
前端·vue.js
red_redemption3 小时前
自由学习记录(131)
学习
Shining05963 小时前
推理引擎方向(二)《大模型原理与结构》
人工智能·rnn·深度学习·学习·其他·大模型·infinitensor
WJSKad12353 小时前
ECA瓶颈改进YOLOv26通道注意力与残差学习深度融合突破
深度学习·学习·yolo
咕噜咪4 小时前
OpenLayers 入门教程:从零开始学习Web地图开发
前端·学习