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>
相关推荐
The Chosen One98516 分钟前
计算机知识点的理解开悟后的分享(一)
笔记
Lkstar39 分钟前
逐步搞懂 Vue 的 patchChildren,把 Diff 算法拆给你看
vue.js
徐新帅1 小时前
4181:【GESP2603七级】拆分
c++·学习·算法·信奥赛
敢敢のwings1 小时前
NVIDIA Thor学习之 |在Jetson AGX Thor上部署OpenClaw并基于Ollama的边缘AI协作实战(二)
人工智能·学习
独孤九剑打醒他1 小时前
#原创声明 #拒绝白嫖 #技术立场 #创作者保护
笔记
avocado_green1 小时前
【考驾照】科目一备考笔记(个人手工整理,非AI生成)
笔记
三分钟管理实战案例2 小时前
华恒智信助力传统制造与科技服务行业完成激活组织效能,打破“躺平”困局
学习
雾岛听蓝2 小时前
Qt操作指南:状态栏、浮动窗口与对话框使用
开发语言·经验分享·笔记·qt
APIshop2 小时前
小红书笔记视频详情接口深度解析:smallredbook.item_get_video_pro
数据库·笔记·音视频
y = xⁿ2 小时前
MySQL学习笔记:乐观锁VS悲观锁/八股总结
笔记·学习·mysql