1. 程式人生 > 其它 >淺析Vue 3 任意傳送門——Teleport

淺析Vue 3 任意傳送門——Teleport

  Teleport 是什麼?它解決的是什麼問題?

一、使用場景 - 為什麼我們需要 Teleport

  Teleport 是一種能夠將我們的模板移動到 DOMVue app 之外的其他位置的技術,就有點像哆啦A夢的“任意門”。

1、使用場景:

  業務開發的過程中,我們經常會封裝一些常用的元件,例如 Modal 元件。相信大家在使用 Modal 元件的過程中,經常會遇到一個問題,那就是 Modal 的定位問題。

(1)像 modalstoast 等這樣的元素,很多情況下,我們將它完全的和我們的 Vue 應用的 DOM 完全剝離,管理起來反而會方便容易很多。原因在於如果我們巢狀在 Vue

的某個元件內部,那麼處理巢狀元件的定位、z-index 和樣式就會變得很困難。

(2)另外,像 modalstoast 等這樣的元素需要使用到 Vue 元件的狀態(data 或者 props)的值。

2、作用 - 這就是 Teleport 派上用場的地方:

  我們可以在元件的邏輯位置寫模板程式碼,這意味著我們可以使用元件的 dataprops,然後在 Vue 應用的範圍之外渲染它

Teleport 提供了一種乾淨的方法,允許我們控制在 DOM 中哪個父節點下呈現 HTML,而不必求助於全域性狀態或將其拆分為兩個元件。 -- Vue 官方文件