日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁(yè) > 科技  > 軟件

Vue3 新玩法!我能操控計(jì)算屬性 Computed!

來(lái)源: 責(zé)編: 時(shí)間:2024-05-27 08:52:59 145觀看
導(dǎo)讀背景最近在做一個(gè)需求的時(shí)候,用到了一個(gè) Vue3 內(nèi)置的 API,發(fā)現(xiàn)真的非常實(shí)用,分享給大家。需求是這樣的,我有一個(gè)變量 sum,是通過(guò)computed去計(jì)算的,且 sum 依賴的變量有的是響應(yīng)式的,有的不是響應(yīng)式的,所以會(huì)造成以下的后果,當(dāng)

背景

最近在做一個(gè)需求的時(shí)候,用到了一個(gè) Vue3 內(nèi)置的 API,發(fā)現(xiàn)真的非常實(shí)用,分享給大家。wIW28資訊網(wǎng)——每日最新資訊28at.com

需求是這樣的,我有一個(gè)變量 sum,是通過(guò)computed去計(jì)算的,且 sum 依賴的變量有的是響應(yīng)式的,有的不是響應(yīng)式的,所以會(huì)造成以下的后果,當(dāng)非響應(yīng)式變量改變時(shí),并不會(huì)觸發(fā)sum 的響應(yīng)式更新,只有響應(yīng)式變量改變時(shí)才會(huì)觸發(fā)sum的響應(yīng)式更新。wIW28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片wIW28資訊網(wǎng)——每日最新資訊28at.com

所以我需要用到一個(gè) Vue3 的內(nèi)置 API,它就是customRef。wIW28資訊網(wǎng)——每日最新資訊28at.com

customRef

創(chuàng)建一個(gè)自定義的 ref,顯式聲明對(duì)其依賴追蹤和更新觸發(fā)的控制方式。wIW28資訊網(wǎng)——每日最新資訊28at.com

類型

圖片圖片wIW28資訊網(wǎng)——每日最新資訊28at.com

詳細(xì)信息

customRef() 預(yù)期接收一個(gè)工廠函數(shù)作為參數(shù),這個(gè)工廠函數(shù)接受 track 和 trigger 兩個(gè)函數(shù)作為參數(shù),并返回一個(gè)帶有 get 和 set 方法的對(duì)象。wIW28資訊網(wǎng)——每日最新資訊28at.com

一般來(lái)說(shuō),track() 應(yīng)該在 get() 方法中調(diào)用,而 trigger() 應(yīng)該在 set() 中調(diào)用。然而事實(shí)上,你對(duì)何時(shí)調(diào)用、是否應(yīng)該調(diào)用他們有完全的控制權(quán)。wIW28資訊網(wǎng)——每日最新資訊28at.com

實(shí)踐小案例:防抖 Ref

創(chuàng)建一個(gè)防抖 ref,即只在最近一次 set 調(diào)用后的一段固定間隔后再調(diào)用:wIW28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片wIW28資訊網(wǎng)——每日最新資訊28at.com

在組件中使用:wIW28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片wIW28資訊網(wǎng)——每日最新資訊28at.com

可控的 computed

圖片圖片wIW28資訊網(wǎng)——每日最新資訊28at.com

再回到一開(kāi)始的話題,我遇到的問(wèn)題是:當(dāng)非響應(yīng)式變量改變時(shí),并不會(huì)觸發(fā)sum 的響應(yīng)式更新,只有響應(yīng)式變量改變時(shí)才會(huì)觸發(fā)sum的響應(yīng)式更新。wIW28資訊網(wǎng)——每日最新資訊28at.com

所以我們需要當(dāng)非響應(yīng)式變量count1、count2改變的時(shí)候,去手動(dòng)觸發(fā) computed 的計(jì)算,這樣才能更新 sum,但是 computed 返回的不是一個(gè)函數(shù)啊,我們要怎么去手動(dòng)觸發(fā)計(jì)算呢?wIW28資訊網(wǎng)——每日最新資訊28at.com

所以這時(shí)候就需要一個(gè)可控的 computed,它擁有以下功能:wIW28資訊網(wǎng)——每日最新資訊28at.com

1、能根據(jù)響應(yīng)式變量去自動(dòng)觸發(fā)計(jì)算更新wIW28資訊網(wǎng)——每日最新資訊28at.com

2、提供一個(gè)方法讓用戶手動(dòng)去調(diào)用觸發(fā)更新wIW28資訊網(wǎng)——每日最新資訊28at.com

期望使用方式是這樣的:wIW28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片wIW28資訊網(wǎng)——每日最新資訊28at.com

具體的代碼實(shí)現(xiàn)如下:wIW28資訊網(wǎng)——每日最新資訊28at.com

圖片 圖片 wIW28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-90851-0.htmlVue3 新玩法!我能操控計(jì)算屬性 Computed!

聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 智啟未來(lái)、共創(chuàng)錫望 —— 巴可 (Barco) 無(wú)錫開(kāi)業(yè)典禮盛大舉行

下一篇: 再探泛型 API,感受 Python 對(duì)象的設(shè)計(jì)哲學(xué)

標(biāo)簽:
  • 熱門(mén)焦點(diǎn)
Top 主站蜘蛛池模板: 临夏县| 美姑县| 满洲里市| 达日县| 晋城| 洪洞县| 仙居县| 金堂县| 镇雄县| 东山县| 隆林| 旺苍县| 商都县| 蓝山县| 阳城县| 朝阳市| 禹城市| 云阳县| 页游| 曲周县| 遂昌县| 辉南县| 沈阳市| 温州市| 左贡县| 镇康县| 惠东县| 平远县| 资溪县| 古交市| 沿河| 子洲县| 阳东县| 龙岩市| 叶城县| 慈利县| 河北省| 仙桃市| 梅河口市| 绥江县| 娄烦县|