偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Vue3 的 Teleport 是個(gè)性能利器,為啥大家都死活不用?

開發(fā) 前端
很多人看到剛剛的優(yōu)化手段,就想著使用?鼠標(biāo)點(diǎn)擊坐標(biāo)定位?的方式去移動(dòng)顏色選擇器,其實(shí)不需要,因?yàn)閂ue3已經(jīng)為我們提供了一個(gè)現(xiàn)成的傳送門組件Teleport。

背景

最近有一個(gè)需求是需要做消息列表的顏色切換,大概頁(yè)面如下,通過顏色選擇器去切換前面消息文本的顏色。

圖片圖片

圖片圖片

后來(lái)產(chǎn)品說(shuō)這個(gè)顏色選擇器的圖標(biāo)不好看,所以換了一個(gè)圖標(biāo)來(lái)顯示顏色選擇器,于是頁(yè)面變成了下面這樣的效果,我把原本的顏色切換的圖標(biāo)隱藏起來(lái),換了另一個(gè)圖標(biāo)代替

圖片圖片

圖片圖片

滿屏都是

后面又有新的需求,消息可能會(huì)有很多,甚至鋪滿整個(gè)屏幕。

圖片圖片

圖片圖片

這會(huì)導(dǎo)致頁(yè)面非常卡,為啥呢?因?yàn)槊恳豁?xiàng)就有一個(gè)顏色選擇器!太多顏色選擇器了,我們可以審查元素,發(fā)現(xiàn)顏色選擇器面板的 DOM 非常多?。?!

圖片圖片

怎么優(yōu)化呢?

其實(shí)就是因?yàn)轭伾x擇器太多了才導(dǎo)致的卡頓,那么,我們只需要保證整個(gè)頁(yè)面只有一個(gè)顏色選擇器即可!

  • 第一步:先在頁(yè)面放一個(gè)顏色選擇器。
  • 第二步:當(dāng)點(diǎn)擊圖標(biāo)1時(shí),將顏色選擇器移動(dòng)到對(duì)應(yīng)位置。
  • 第三步:當(dāng)點(diǎn)擊圖標(biāo)2時(shí),將顏色選擇器移動(dòng)到對(duì)應(yīng)位置。
  • 第四步:以此類推。

圖片圖片

Teleport

很多人看到剛剛的優(yōu)化手段,就想著使用 鼠標(biāo)點(diǎn)擊坐標(biāo)定位 的方式去移動(dòng)顏色選擇器,其實(shí)不需要,因?yàn)閂ue3已經(jīng)為我們提供了一個(gè)現(xiàn)成的傳送門組件Teleport。

我們需要先封裝一個(gè)單例顏色選擇器,確保整個(gè)頁(yè)面只有這么一個(gè),且使用 Teleport 將它包起來(lái),并且他的圖標(biāo)是不可見的,這里渲染組件我們可以使用 h 方法。

圖片圖片

我們需要先將 Item.vue 中的顏色選擇器去掉,換成一個(gè)占位的地方,用來(lái)讓顏色選擇器傳送。

接著我們?cè)?nbsp;Index.vue 中去將這個(gè) 單例顏色選擇器 進(jìn)行掛載。

圖片圖片

我們需要將 Item.vue 中的顏色選擇器去掉,換成一個(gè)占位的地方,用來(lái)讓顏色選擇器傳送,而這個(gè)占位的地方我們需要保證是獨(dú)一無(wú)二的,不然會(huì)造成傳送出錯(cuò),這里我使用了 lodash.uniqueId。

圖片圖片

現(xiàn)在我們可以看到,整個(gè)頁(yè)面只有一個(gè)顏色選擇器了,非常好,整個(gè)頁(yè)面瞬間變得不卡頓了?。?!

圖片

再來(lái)看看效果,發(fā)現(xiàn)符合我們的預(yù)期!

圖片

適用于多 Tab 切換

Teleport 還適用于很多場(chǎng)景的優(yōu)化,比如多 Tab 切換,但是每一個(gè) Tab 都是顯示了同一個(gè)組件,這個(gè)時(shí)候你也可以使用 Teleport 去優(yōu)化。

示例盡量簡(jiǎn)化,方便大家理解。

比如下面的例子,其實(shí)每一個(gè) Tab 展示的都是同一個(gè)內(nèi)容。

圖片圖片

圖片圖片

我們可以使用 Teleport 將內(nèi)容包起來(lái),并監(jiān)聽 Tab 的切換,進(jìn)行動(dòng)態(tài)傳送。

圖片圖片

結(jié)果也能達(dá)到預(yù)期效果。

圖片 圖片

責(zé)任編輯:武曉燕 來(lái)源: 前端之神
相關(guān)推薦

2020-12-01 08:34:31

Vue3組件實(shí)踐

2021-03-31 08:01:50

Vue3 Vue2 Vue3 Telepo

2021-05-12 10:25:29

開發(fā)技能代碼

2023-04-27 11:07:24

Setup語(yǔ)法糖Vue3

2025-04-07 08:50:36

2023-11-29 09:05:59

Vue 3場(chǎng)景

2022-08-15 12:31:32

Vue3TypeScript

2021-12-01 08:11:44

Vue3 插件Vue應(yīng)用

2025-07-07 03:00:00

2021-10-29 07:47:35

Vue 3teleport傳送門組件

2021-11-30 08:19:43

Vue3 插件Vue應(yīng)用

2023-11-28 09:03:59

Vue.jsJavaScript

2020-09-19 21:15:26

Composition

2021-12-02 05:50:35

Vue3 插件Vue應(yīng)用

2024-08-13 09:26:07

2025-02-03 16:24:20

2021-12-08 09:09:33

Vue 3 Computed Vue2

2025-10-17 07:10:00

前端開發(fā)Vue

2025-06-30 09:46:34

Vue3性能API

2020-11-12 08:32:14

Vue3模板優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)