customRef

2022/1/30 23:10:18

本文主要是介绍customRef,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

customRef 函数

  • 使用 customRef 函数创建一个自定义的 ref ,并对其依赖项跟踪和更新触发进行显示控制
  •  customRef 接收一个函数作为参数这个函数接收两个函数作为参数  track (通知vue需要追踪后续内容的变化) 和  trigger (通知vue重新解析模板)。
<template>
  <input type="text" v-model="keyWord">
  <div>{{keyWord}}</div>
</template>

<script>
import {customRef, } from "vue";
export default {
  setup() {
    // 自定义一个 myRef
    function myRef(value) {
      return customRef((track, trigger) => {
        return {
          get() {
            track() // 追踪后续数据的变化
            return value
          },
          set(newValue) {
            value = newValue
            trigger() // 重新解析模板
          }
        }
      })
    }
    let keyWord = myRef('hello')
    return {
      keyWord,
    }
  }
}
</script>
  • 实现自定义 myref 延迟更新模板
<template>
  <input type="text" v-model="keyWord">
  <div>{{keyWord}}</div>
</template>

<script>
import {customRef, } from "vue";
export default {
  setup() {
    // 自定义一个 myRef
    function myRef(value, delay) {
      let timer = null;
      return customRef((track, trigger) => {
        return {
          get() {
            track() // 追踪后续数据的变化
            return value
          },
          set(newValue) {
            value = newValue
            timer = null
            timer = setTimeout(() => {
              trigger() // 重新解析模板
            }, delay)
          }
        }
      })
    }
    let keyWord = myRef('hello', 3000)
    return {
      keyWord,
    }
  }
}
</script>

 



这篇关于customRef的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程