前言
ref是Vue官方提供的componsition API,将一个非响应式数据转变为响应式数据的函数,至于底层怎么实现数据的收集与响应式
使用者无需去关注,相当于就是精装电脑,然而有时候,针对一些复杂特殊的需求...,用一些现成的零部件组装一个类似精装的电脑,甚至还可以进行拓展,在实现一个定制化复杂的功能需求时
这个自定义ref就很有用
示例-延迟展示
想要在input中实现一个数据的实时收集与实时展示,需要使用v-model...(() => {
value = newValue;
trigger(); // customRef函数内接收两个参数,一个是track,另一个就是...ref
这个customRef比较难以理解的是,它需要在自定义ref函数中返回出去,同时,接收一个工厂函数作为参数,这个工厂函数接受track和trigger两个函数
作为参数,...并返回一个带有get和set方法的对象
一般来说,track()在get()方法中的返回值前进行调用,追踪一下数据的改变,通知vue最终数据的变化,而trigger()函数则应该在set()函数的末尾调用