使用 v-cloak 隐藏 Vuejs 渲染中的元素

Posted 编程新一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用 v-cloak 隐藏 Vuejs 渲染中的元素相关的知识,希望对你有一定的参考价值。

你可能在某个地方看到过 v-cloak 这个指令,但是如果你没遇到对应的应用场景的话,估计你也不会注意到这个小小的指令。

问题:Vuejs 在渲染元素的时候,如果我们仔细的去看,应该能看到一个闪现的过程, 这是因为 Vuejs 读取和渲染你的元素需要一定时间。所以会出现这个问题,这对于一下强迫症来说,简直要命,所以我们要怎么解决这个问题呢?

使用 v-cloak 指令就好,比如:

 
   
   
 
  1.    <div id="app">

  2.      <div>

  3.        Hello {{ name }}

  4.      </div>

  5.    </div>

  6.    <script src="vue.min.js"></script>

  7.    <script>

  8.      new Vue({

  9.        el: '#app',

  10.        data () {

  11.          return {

  12.            name: 'CODECASTS'

  13.          }

  14.        }

  15.      })

  16.    </script>

上面的例子极其简单,我们在刷新页面的时候应该可以看到 {{name}} 的闪现,但是如果我们加上 v-cloak :

 
   
   
 
  1. <div id="app">

  2.  <div v-cloak> 注意这里

  3.    Hello {{ name }}

  4.  </div>

  5. </div>

  6. <style>

  7.  [v-cloak] {

  8.    display: none;

  9.  }

  10. </style>

我们在对应的元素加上了 v-cloak 指令,并且也要添加对应的 style 样式声明。这样我们就看避免闪现的问题了。 更多的文档可以查看:https://vuejs.org/v2/api/#v-cloak

其实这个指令你是可以用到任何一个 Vuejs 的组件当中的,比如这样 <componentv-cloak></component>


以上是关于使用 v-cloak 隐藏 Vuejs 渲染中的元素的主要内容,如果未能解决你的问题,请参考以下文章

Vuejs指令

使用vue时会出现加载渲染页面时闪烁问题

使用 v-cloak 防止页面加载时出现 vuejs 的变量名

Vue 在隐藏元素之前渲染元素

说说 Vue.js 中的 v-cloak 指令

Vuejs将类绑定到行然后隐藏/显示行?