国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vue3中customRef的使用

2022-03-13 11:03 作者:忘魂兒  | 我要投稿

如其名,自定義Ref,可想而知它一定會返回一個Ref對象,那么開始吧

這里我們先定義這么一個函數(shù),里面封裝的是我們自己定義的ref

模板中

頁面上

上圖所示,我們能讀取,但是真能改變值嗎?

答案是不能!有人就會說了,我明明把最新的值給value賦值了啊,咋能夠呢?

這么說吧,你呢確實賦值了,但是get沒有重新執(zhí)行,模板呢還是未修改之前的模板,也就是說你沒有通知Vue去重新渲染模板

那么如何通知Vue去重新解析模板呢?

customRef中的回調(diào)會接收底層的兩個參數(shù),一個是track,也就是追蹤,你說它追蹤什么呢?欸,追蹤的就是get返回值的改變,它追蹤到了才會反應(yīng)到頁面上來,另一個是trigger,也就是觸發(fā),觸發(fā)啥?觸發(fā)開關(guān),開關(guān)干嘛的?通知Vue去重新解析模板

問題來了,這兩個參數(shù)啥前用?你想啊,當(dāng)你的值改變完之后是不是得通知Vue去重新解析模板?重新解析完模板之后是不是會重新調(diào)用get讀取值?那么讀取返回值之前是不是得先追蹤到變化?好了,代碼上見!

結(jié)果如下:最終拿到這個改變后的值了

有人又說了,這有啥用?我直接用官方給的ref不香嗎?

那咱們做個實驗,你說我要是一直往輸入框中輸入東西,會發(fā)生什么呢?

好家伙,好么,這得耗多少資源,一次輸入就響應(yīng)一次,當(dāng)真看恐怖??!

問題來了,如何解決?

有人就說,你咋啷個笨?你就開個定時器不就可以了?

喲呵,變異了,錯的離譜了,差點定時器開關(guān)

加上定時器開關(guān)

模板中

頁面上,觸發(fā)頁面更新的時機(jī)變成了,連續(xù)按鍵停止點后的500ms

但是有點不足,延遲時間寫死了,改需求

完事!這就是防抖!

Vue3中customRef的使用的評論 (共 條)

分享到微博請遵守國家法律
旌德县| 普兰县| 伊吾县| 柘城县| 班玛县| 金湖县| 那坡县| 内乡县| 仙居县| 韶关市| 建湖县| 芒康县| 蕉岭县| 赣州市| 康马县| 河曲县| 邻水| 龙山县| 精河县| 绍兴市| 噶尔县| 彭泽县| 茌平县| 襄城县| 砚山县| 西盟| 阿拉善盟| 浦东新区| 德格县| 仁布县| 富裕县| 乐陵市| 玉山县| 湟源县| 西安市| 金秀| 台北县| 富宁县| 武平县| 冕宁县| 靖西县|