Menu
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY CYBERSECURITY DATA SCIENCE
     ❯   

Vue Tutorial

Vue HOME Vue Intro Vue Directives Vue v-bind Vue v-if Vue v-show Vue v-for Vue Events Vue v-on Vue Methods Vue Event Modifiers Vue Forms Vue v-model Vue CSS Binding Vue Computed Properties Vue Watchers Vue Templates

Scaling Up

Vue Why, How and Setup Vue First SFC Page Vue Components Vue Props Vue v-for Components Vue $emit() Vue Fallthrough Attributes Vue Scoped Styling Vue Local Components Vue Slots Vue v-slot Vue Scoped Slots Vue Dynamic Components Vue Teleport Vue HTTP Request Vue Template Refs Vue Lifecycle Hooks Vue Provide/Inject Vue Routing Vue Form Inputs Vue Animations Vue Animations with v-for Vue Build Vue Composition API

Vue Reference

Vue Built-in Attributes Vue Built-in Components Vue Built-in Elements Vue Component Instance Vue Directives Vue Instance Options Vue Lifecycle Hooks

Vue Examples

Vue Examples Vue Exercises Vue Quiz Vue Syllabus Vue Study Plan Vue Server Vue Certificate

Vue v-cloak Directive


Example

Using v-cloak to hide precompiled content.

<div id="app" v-cloak>
  {{ message }}
</div>
Try it Yourself »

See more examples below.


Definition and Usage

The v-cloak directive is used to hide content until compilation is finished.

Typically, v-cloak prevents the user from seeing flickering of pre-compiled content including curly braces during the loading of the page.

To hide pre-compiled content, the element is marked with v-cloak, and CSS rules are defined to hide this content until compilation is finished.

The v-cloak directive only works for Vue code that compiles in the browser, so it is not useful when working with SFC (*.vue) files.


More Examples

Example 1

Using v-cloak to display red text before the compilation is finished, so that we can see the pre-compilation phase more clearly.

<!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>
Try it Yourself »

Example 2

Using the JavaScript setTimeout() function to delay the compilation by one second so that the effect from v-cloak becomes more clear.

<!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>
Try it Yourself »

Related Pages

JavaScript Reference: Window setTimeout()