成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

背景

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

圖片圖片

圖片圖片

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

圖片圖片

圖片圖片

滿屏都是

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

圖片圖片

圖片圖片

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

圖片圖片

怎么優(yōu)化呢?

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

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

圖片圖片

Teleport

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

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

圖片圖片

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

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

圖片圖片

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

圖片圖片

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

圖片

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

圖片

適用于多 Tab 切換

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

示例盡量簡化,方便大家理解。

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

圖片圖片

圖片圖片

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

圖片圖片

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

圖片 圖片

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

2021-03-31 08:01:50

Vue3 Vue2 Vue3 Telepo

2020-12-01 08:34:31

Vue3組件實(shí)踐

2021-05-12 10:25:29

開發(fā)技能代碼

2023-04-27 11:07:24

Setup語法糖Vue3

2025-04-07 08:50:36

2023-11-29 09:05:59

Vue 3場景

2022-08-15 12:31:32

Vue3TypeScript

2021-12-01 08:11:44

Vue3 插件Vue應(yīng)用

2021-11-30 08:19:43

Vue3 插件Vue應(yīng)用

2023-11-28 09:03:59

Vue.jsJavaScript

2021-10-29 07:47:35

Vue 3teleport傳送門組件

2021-12-02 05:50:35

Vue3 插件Vue應(yīng)用

2024-08-13 09:26:07

2020-09-19 21:15:26

Composition

2025-02-03 16:24:20

2021-12-08 09:09:33

Vue 3 Computed Vue2

2024-01-04 08:38:21

Vue3API慎用

2025-02-17 08:58:06

2025-06-30 09:46:34

Vue3性能API

2020-11-12 08:32:14

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

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

主站蜘蛛池模板: 一区二区三区日韩 | 免费精品在线视频 | 色黄网站| 亚洲一区二区三区福利 | 国产精品美女在线观看 | 日韩无 | 日韩在线欧美 | 国产女人与拘做视频免费 | 精品视频一区二区三区在线观看 | 国产亚洲二区 | 国产在线高清 | 欧美一区二区在线播放 | 国产精彩视频 | 国产免费播放视频 | 蜜桃精品视频在线 | 91视视频在线观看入口直接观看 | 欧美二区三区 | 国产日韩久久 | 日日日操 | 欧美中文字幕 | 羞羞视频网站免费观看 | 日日噜噜夜夜爽爽狠狠 | 午夜精品福利视频 | 久久久久久99 | 五月天国产 | 日本激情视频中文字幕 | 国产线视频精品免费观看视频 | 中文字幕高清av | 国产精品久久久久免费 | 97av在线 | 国产成人精品午夜视频免费 | 国产伦精品一区二区三区精品视频 | 亚洲欧美日本在线 | 国产成人精品久久二区二区91 | 欧美日韩久久 | 一区二区在线免费观看 | 国产高清美女一级a毛片久久w | 亚洲一区二区三区在线 | 久久久久国产精品一区二区 | re久久| 午夜精品久久久久久久 |