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>
相关推荐
WayneX7 分钟前
Vue 3 + TypeScript + Vite 组件库搭建,自助式生成相应组件文档
前端·javascript·vue.js
Amazing_Cacao38 分钟前
褪去故事滤镜:重建精品可可的“结构语言”
笔记·学习
网络工程小王1 小时前
【大数据技术详解】——Sqoop技术(学习笔记)
大数据·学习·sqoop
暖阳之下1 小时前
学习周报三十六
学习
zlpzlpzyd1 小时前
groovy学习
java·jvm·学习
泯仲1 小时前
从零起步学习MySQL 第十二章:MySQL分页性能如何优化?
数据库·学习·mysql
吃西瓜的年年2 小时前
前端面试题(vue)
前端·javascript·vue.js
我要成为嵌入式大佬2 小时前
嵌入式学习找工作第十七天--第二个项目(命令行日记本)
学习
wuhen_n2 小时前
结构化Prompt——让AI说“人话”
前端·vue.js·ai编程
日更嵌入式的打工仔2 小时前
二值信号量 vs 互斥量
笔记