Course Content
VUE Tutorial
About Lesson


In Vue.js, v-show is a directive used to conditionally display or hide an element based on a given expression. Unlike v-if, which completely removes or adds an element to the DOM, v-show toggles the element’s CSS property display between none and its normal value.

How to Use v-show

To use v-show, simply attach it to an element, and bind it to an expression that evaluates to a boolean value. If the expression is true, the element is displayed; if false, the element is hidden.

Why Use v-show?

One significant advantage of v-show over v-if is performance. When elements are toggled frequently, using v-show is often more efficient, as the element is not completely destroyed and re-rendered. This can lead to better user experience, especially in scenarios where rapid toggling of elements is required.

Syntax Example

<div v-show="isVisible">
This element will be displayed or hidden based on the value of 'isVisible'.

Common Pitfalls

While v-show is a powerful tool, it’s important to use it judiciously. Overusing it in scenarios where elements rarely toggle may introduce unnecessary complexity to the code. Consider the specific requirements of your application before choosing between v-show and v-if.

Best Practices

  • Use v-show when you need to toggle the visibility of elements frequently.
  • Avoid using v-show for elements that are rarely toggled, as the performance gains might be negligible.
  • Always bind v-show to a boolean expression for clear and concise code.