Vue v-cloak指令


示例

使用v-cloak隐藏预编译内容。

<div id="app" v-cloak>
  {{ message }}
</div>
亲自试一试 »

请参阅下面的更多示例。


定义和用法

这个v-cloak指令用于隐藏内容,直到编译完成。

通常,v-cloak防止用户在页面加载期间看到预编译内容(包括大括号)的闪烁。

为了隐藏预编译的内容,该元素被标记为v-cloak,并且 CSS 规则被定义为隐藏此内​​容,直到编译完成。

这个v-cloak指令仅适用于在浏览器中编译的 Vue 代码,因此在处理 SFC (*.vue) 文件时没有用处。


更多示例

示例1

使用v-cloak在编译完成之前显示红色文本,以便我们可以更清楚地看到预编译阶段。

<!DOCTYPE html>
<html>
<head>
  <title>Vue v-cloak Directive</title>
  <style>
    [v-cloak] {
      color: red;
    }
    #app {
      padding: 10px;
      font-size: x-large;
      background-color: lightgreen;
    }
  </style>
</head>
<body>

<h1>Vue v-cloak Example</h1>

<p>The v-cloak directive is used to make the text red until the compilation is complete. Refresh the page, or click the "Run" button, to see the pre-compilation phase better.</p>

<div id="app" v-cloak>
  {{ message }}
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
  const app = Vue.createApp({
  data() {
    return {
      message: "Hello World!"
    }
  }
  })
  app.mount('#app')
</script>
</body>
</html>
亲自试一试 »

示例2

使用 JavaScriptsetTimeout()函数延迟编译一秒,以便效果v-cloak变得更加清晰。

<!DOCTYPE html>
<html>
<head>
  <title>Vue v-cloak Directive</title>
  <style>
    [v-cloak] {
      opacity: 0.5;
    }
    #app {
      padding: 10px;
      font-size: x-large;
      background-color: lightgreen;
    }
  </style>
</head>
<body>

<h1>Vue v-cloak Example</h1>

<p>Using the JavaScript setTimeout function to delay the Vue compilation to make the pre-compilation phase even more clear.</p>

<div id="app" v-cloak>
  {{ message }}
</div>

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
<script>
setTimeout(() => {
  const app = Vue.createApp({
    data() {
      return {
        message: "Hello World!"
      }
    }
  })
  app.mount('#app')
}, 1000);
</script>
</body>
</html>
亲自试一试 »

相关页面

JavaScript 参考:窗口设置超时()