Условия, директива v-if
С помощью директивы v-if можно показывать или скрывать элементы. Как эта директива работает:
- Параметром она принимает любое свойство объекта
data - Если свойство имеет значение
true, элемент будет показан - Если свойство имеет значение
false, элемент будет скрыт
Пусть у нас есть абзац с атрибутом v-if. Значением этого атрибута пусть служит свойство visible:
App.vue<template>
<p v-if="visible">text</p>
</template>
Давайте установим значение нашего свойства в true. В этом случае абзац будет показан:
App.vuedata()
{
return {
visible: true,
}
}
А вот если visible поставить в значение false, то абзац будет скрыт:
App.vuedata()
{
return {
visible: false,
}
}
Инвертирование условия
Можно инвертировать условие с помощью восклицательного знака:
App.vue<template>
<p v-if="!visible">text</p>
</template>
В таком случае абзац будет показан, если visible имеет значение false и скрыт — если true.
Реактивное условие
Давайте сделаем так, чтобы условие было реактивным. К примеру сделаем так, чтобы элемент прятался по нажатию на кнопку. Пусть у нас есть следующий абзац:
App.vue<template>
<p v-if="visible">text</p>
</template>
Сделаем так, чтобы наш абзац изначально был показан:
App.vuedata()
{
return {
visible: true,
}
}
Сделаем теперь кнопку, по нажатию на которую абзац будет скрываться:
App.vue<template>
<button @click="hide">hide</button>
<p v-if="visible">text</p>
</template>
Привязанный метод будет менять свойство visible на false, тем самым заставляя наш абзац скрыться:
App.vuemethods: {
hide: function () {
this.visible = false;
}
}