·
0 min read

Vue Tip: Avoid Unwanted Re-Renders of an Element Using v-once

MH

Michael Hoffmann

@mokkapps

Vue Tip: Avoid Unwanted Re-Renders of an Element Using v-once Image

The v-once directive is a Vue.js directive used to avoid unwanted re-renders of an element.

It optimizes the update performance by rendering the element and component only once.

Vue will treat the element/component and its children as static content on subsequent re-render.

<p v-once>This text will never change: {{ message }}</p>

If we put the v-once directive on an element with children, these would also be treated as static content:

<section v-once>
  <h1>My Headline</h1>
  <p>{{ message }}</p>
</section>

Since 3.2, you can also memoize part of the template with invalidation conditions using v-memo.

If you liked this Vue tip, follow me on BlueSky to get notified about new tips, blog posts, and more. Alternatively (or additionally), you can subscribe to my weekly Vue & Nuxt newsletter :

I will never share any of your personal data. You can unsubscribe at any time.