先來看一段代碼:
<ul v-for="item in items">
<li>{{ item.name }}</li>
</ul>
當我們刷新頁面的時候因為響應問題會看到 {{item.name}} 這個vue.js模板變量,這樣給用戶帶來了不好的體驗,那么要怎么解決這個問題呢?
答案就是加上一個:
v-cloak
代碼如下:
<ul v-cloak v-for="item in items">
<li>{{ item.name }}</li>
</ul>
然后在css中添加
[v-cloak] { display: none;
}
搞定!
但是原理是什么呢?
這段 CSS 的含義是,包含 v-cloak (cloak n. 披風,斗篷;vt. 遮蓋,掩蓋) 屬性的 html 標簽在頁面初始化時會被隱藏。
在 vuejs instance ready 之后,v-cloak 屬性會被自動去除,也就是對應的標簽會變為可見。