關於ve3 的一個新特性已經討論了一段時間了,那就是 Portals
(傳送門) ,它的功能是將模板HTML移動到DOM不同地方的方法。 Portals
是React中的一個常見特性,Vue2 中可以使用portal-vue
函式庫。 (學習影片分享:vue影片教學)
Vue3 中,提供了 Teleport
來支援這項功能。
我首先要了解的是何時使用 Teleport
功能。
在處理較大的Vue專案時,有邏輯處理組織程式碼庫是很重要的。但是,當處理某些類型的元件(如模式,通知或提示)時,模板HTML的邏輯可能位於與我們希望渲染元素的位置不同的檔案中。
實際上,在很多時候,與我們的Vue應用程式的DOM完全分開處理時,這些元素的管理要容易得多。所有這些都是因為處理巢狀元件的位置,z-index
和樣式可能由於處理其所有父物件的範圍而變得棘手。
這種情況就是 Teleport
派上用場的地方。我們可以在邏輯所在的元件中編寫模板程式碼,這意味著我們可以使用元件的資料或 props
。但是,然後完全將其渲染到我們Vue應用程式的範圍之外。
如果不使用 Teleport
,我們將不得不擔心從子元件向DOM樹傳遞邏輯的事件傳播,但現在要簡單得多。
假設我們有一些子元件,我們想在其中觸發彈出的通知。如剛才所討論的,如果將通知以完全獨立的DOM樹渲染,而不是Vue的根#app
元素,則更為簡單。
我們要做的第一件事是打開我們的index.html
,並在
以上是聊聊Vue3中的一個好用的功能:Teleport的詳細內容。更多資訊請關注PHP中文網其他相關文章!