Реактивность объекта с CSS классами в Vue

Объект с CSS классами предназначен для того, чтобы удобно было реактивно назначать классы элементам. Давайте посмотрим, как это делается. Пусть у нас есть следующий объект с классами:

data() { return { styles: { done: false, }, } }

Привяжем этот объект к тегу:

<template> <p :class="styles">text</p> </template>

Пусть наличие класса done перечеркивает текст тега:

p.done { text-decoration: line-through; }

Сделаем кнопку, нажатие на которую будет изменять объект со стилями, включая класс done:

<template> <button @click="setDone">hide</button> </template>

Напишем соответствующий метод:

methods: { setDone: function() { this.styles.done = true; } }

Дан следующий объект с CSS классами:

data() { return { obj: { hidden: true, }, } }

Пусть наличие этого класса прячет элемент:

p.hidden { display: none; }

Примените объект с классами к какому-нибудь тегу с текстом.

Сделайте кнопку, нажатие на которую будет показывать элемент.

Сделайте кнопку, нажатие на которую будет прятать элемент.

Сделайте кнопку, нажатие на которую будет тогглить элемент (показывать, если скрыт; скрывать, если показан).



Чат с GPT Компилятор