v-cloak 是什麼?何時會需要用到 v-cloak?
當使用 in-DOM 模板時,如果沒使用 v-cloak 的話可能會出現「尚未編譯執行完成的模板語法 (flash of un-compiled templates)」。因此訪客可能會看到原始的 mustache 標籤與指令式(例如:{{ variable }} 或是 v-for 等指令式),直到 Vue.JS 渲染完成後才使用正確的內容替換掉這些標籤與指令式。
v-cloak 會一直保留在元素上,直到關聯的元件實例被掛載 (mounted),通常會結合 CSS 規則,例如 [v-cloak] { display: none },它可以用來隱藏原始模板,直到元件準備好。
這個方法無論是在 Vue2 或是 Vue3
在 Vue.js 中如何實際使用 v-cloak?
[v-cloak] {
display: none;
}
<div v-cloak>
{{ message }}
</div>
div 元素會直到編譯完成、元件被掛載後才會顯示。
參考: VueJS 官方文件