Difference between v-if and v-show
If you are a Vue.js developer, you might know what's the difference, if not, let's check:
v-if: to Render a block conditionally.
v-show: to Display a block conditionally.
v-showrenders once and remains in theDOMand only toggles thedisplayCSS property.
That means if you have a heavy component and rendering is expensive, you can render it once(v-if) and toggle that π― times without re-rendering(v-show).
Example
<template>
<div v-if="isRendered">
<div v-show="isVisible">
<MyHeavyComponent/>
</div>
</div>
</template>
If we only use v-show, we don't have control on rendering and it will be rendered immediately(not displaying) without any conditions.
Top comments (2)
Oh yes, I already do that, and this is very important, especially when you have a component that makes requests in the mount hook and other lifecycle hooks.
Thank you for sharing your experience βοΈπ
And if you combine that with Async Components (lazy components), you also have control over loading and rendering components.