Vue 自定义ref

参考

学习Vue3 第六章(认识Ref全家桶)_ref_小满zs的博客-CSDN博客

使用案例

演示

代码

typescript 复制代码
<script setup lang="ts">
import { customRef } from 'vue';

function MyRef<T>(value:T){
  let timer:any
  return customRef((track,trigger)=>{
    return{
      get(){
        track()
        return value
      },
      set(newValue){

        clearTimeout(timer)
        timer = setTimeout(()=>{
          console.log("出发修改事件,修改后的值为:"+newValue)
          value = newValue
          timer = null
          trigger()
        },500)

      }
    }
  })
}

const obj = MyRef<string>("xyy")

let flag:boolean = true
const change = ()=>{
  if(flag){
    obj.value = "xyy123"
  }else{
    obj.value = "xyy"
  }
  flag =!flag
}

</script>

<template>
  {{ obj }}
  <button @click="change">change</button>
</template>
相关推荐
旺仔Sec17 分钟前
2026年度河北省职业院校技能竞赛“Web技术”(高职组)赛项竞赛任务
运维·服务器·前端
用户40993225021218 分钟前
Vue的Class绑定对象语法如何让动态类名切换变得直观高效?
前端·ai编程·trae
GIS之路1 小时前
GIS 数据转换:GDAL 实现将 CSV 转换为 Shp 数据(一)
前端
武清伯MVP1 小时前
深入了解Canvas:HTML5时代的绘图利器(一)
前端·html5·canvas
一水鉴天1 小时前
整体设计 定稿 之24 dashboard.html 增加三层次动态记录体系仪表盘 之2 程序 (Q208 之1)
前端·html
_杨瀚博1 小时前
微信支付集成_JSAPI
前端
polaris_tl1 小时前
react beginwork
前端
亮子AI1 小时前
【css】列表的标号怎么实现居中对齐?
前端·css
梦想的旅途22 小时前
媒体文件(图片/文件)的上传与管理:获取 Media ID 的技术细节
前端·http·servlet
一水鉴天2 小时前
整体设计 定稿 之22 dashboard.html 增加三层次动态记录体系仪表盘 之1
前端·html