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>
相关推荐
Hexene...14 分钟前
【前端Vue】el-dialog关闭后黑色遮罩依然存在如何解决?
前端·javascript·vue.js·elementui·前端框架
Jay_See15 分钟前
JC链客云——项目过程中获得的知识、遇到的问题及解决
前端·javascript·vue.js
普通码农31 分钟前
Element Plus 数字输入框箭头隐藏方案
前端
草字1 小时前
css flex布局,设置flex-wrap:wrap换行后,如何保证子节点被内容撑高后,每一行的子节点高度一致。
前端·javascript·css
Slice_cy1 小时前
深入剖析Vue框架:实现精简的computed
前端
局i1 小时前
ES6 类与继承:现代 JavaScript 面向对象编程
前端·javascript·es6
白菜上路1 小时前
C# Web API Mapster基本使用
前端·c#
叫我詹躲躲1 小时前
偷偷收藏!前端老鸟绝不外传的150个JS插件,让你效率翻3倍…
前端·vue.js
会豪1 小时前
如何让自己的前端项目更优雅
前端
uhakadotcom1 小时前
致新人:如何编写自己的第一个VSCode插件,以使用@vscode/vsce来做打包工具为例
前端·面试·github