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>
相关推荐
逆袭的菜鸟X22 分钟前
RxJS 高阶映射操作符详解:map、mergeMap 和 switchMap
前端
bubiyoushang88824 分钟前
HTML5的新语义化标签
前端·html·html5
会飞的鱼先生1 小时前
vue3自定义指令来实现 v-copy 功能
前端·javascript·vue.js
陈天伟教授1 小时前
Web前端开发 - 制作简单的焦点图效果
java·开发语言·前端·前端开发·visual studio
_殊途1 小时前
前端三件套之html详解
前端·html
不思念一个荒废的名字2 小时前
【黑马JavaWeb+AI知识梳理】后端Web基础03 - MySQL概述
前端·数据库·mysql
橙子199110163 小时前
谈谈 Kotlin 中的构造方法,有哪些注意事项?
java·前端·kotlin
*neverGiveUp*3 小时前
本地分支git push 报错 fatal: The current branch XXXX has no upstream branch.
前端·git·gitea
AaronZZH3 小时前
为什么现代CSS应该选择OKLCH:从颜色科学到设计系统革新
前端·css
CaseyWei4 小时前
JS实现直接下载PDF文件
前端·javascript