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 :

