Директива v-show
в Vue.js используется для переключения видимости элемента. В отличие от директивы v-if
, которая физически удаляет или создает элемент в DOM, директива v-show
просто переключает CSS-свойство display
между значениями none
и block
.
Здесь пример использования директивы v-show
:
<div id="app">
<button @click="toggleVisibility">Переключить видимость</button>
<div v-show="isVisible">Я видим, если переменная 'isVisible' равна 'true'</div>
</div>
new Vue({
el: "#app",
data: {
isVisible: true
},
methods: {
toggleVisibility() {
this.isVisible = !this.isVisible;
}
}
})
В данном примере у нас есть кнопка, которая переключает видимость div
элемента с помощью директивы v-show
.
Обратите внимание, что директива v-show
не поддерживает синтаксис <template>
. Если вам нужно переключать видимость группы элементов, всегда используйте v-if
вместо v-show
.
Также стоит отметить, что директива v-show
не удаляет элемент из DOM и продолжает рендерить его, даже если он не виден. Поэтому, если у вас есть большой элемент, который редко показывается, лучше использовать v-if
вместо v-show
для улучшения производительности.
Однако, если вам нужно постоянно переключать видимость элемента, рекомендуется использовать v-show
, потому что она работает быстрее при переключении, в то время как v-if
более затратна по производительности при перерендеринге.