Основи директив Vue.js
Директиви Vue.js — це спеціальні маркери в розмітці, які вказують бібліотеці робити щось з елементом DOM. Вони мають префікс v-
, щоб вказати, що це спеціальні атрибути, надані Vue. Директиви є однією з основних функцій Vue.js, що дозволяє розробникам ефективно маніпулювати DOM.
У цій статті ми вивчимо основи директив Vue.js, охоплюючи директиви, які найчастіше використовуються, і те, як їх використовувати у своїх програмах Vue.
Часто використовувані директиви у Vue.js
Ось деякі з найбільш часто використовуваних директив у Vue.js:
- v-bind: Динамічно прив’язує один або більше атрибутів або властивість компонента до виразу.
- v-model: Створює двосторонню прив’язку даних для введення форми, текстового поля та елементів вибору.
- v-if: Умовно відображає елемент або компонент.
- v-else: Надає блок else для
v-if
. - v-else-if: Надає блок else-if для
v-if
. - v-for: Відображає список елементів за допомогою масиву або об’єкта.
- v-on: Прикріплює слухачі подій до елементів.
- v-show: Перемикає видимість елемента на основі виразу.
- v-html: Оновлює внутрішній HTML елемента.
v-bind: динамічне прив’язування атрибутів
Директива v-bind
використовується для динамічного прив’язування атрибутів або властивостей до виразу. Наприклад, ви можете прив’язати атрибут src
елемента img
до властивості даних:
<template>
<img v-bind:src="imageSrc" alt="Dynamic Image" />
</template>
<script>
export default {
data() {
return {
imageSrc: 'https://example.com/image.jpg'
};
}
};
</script>
Скорочення v-bind
— це просто двокрапка (:
), тому наведений вище приклад можна переписати так:
<img :src="imageSrc" alt="Dynamic Image" />
v-model: Двостороннє прив’язування даних
Директива v-model
використовується для створення двосторонньої прив’язки даних до вхідних елементів форми. Він синхронізує вхідний елемент і властивість даних:
<template>
<input v-model="message" placeholder="Type something..." />
<p>You typed: {{ message }}</p>
</template>
<script>
export default {
data() {
return {
message: ''
};
}
};
</script>
v-if, v-else-if та v-else: умовне відтворення
Директиви v-if
, v-else-if
і v-else
використовуються для умовного відтворення елементів. Вони дозволяють умовно відтворювати елементи на основі оцінки виразу:
<template>
<div v-if="isLoggedIn">Welcome back!</div>
<div v-else-if="isGuest">Hello, Guest!</div>
<div v-else>Please log in.</div>
</template>
<script>
export default {
data() {
return {
isLoggedIn: false,
isGuest: true
};
}
};
</script>
v-for: рендеринг списку
Директива v-for
використовується для візуалізації списку елементів шляхом ітерації по масиву або об’єкту. Кожен елемент у масиві можна відобразити за допомогою циклу:
<template>
<ul>
<li v-for="(item, index) in items" :key="index">{{ item }}</li>
</ul>
</template>
<script>
export default {
data() {
return {
items: ['Item 1', 'Item 2', 'Item 3']
};
}
};
</script>
v-on: Обробка подій
Директива v-on
використовується для приєднання слухачів подій до елементів DOM. Ви можете обробляти такі дії користувача, як клацання, введення тощо:
<template>
<button v-on:click="showAlert">Click Me</button>
</template>
<script>
export default {
methods: {
showAlert() {
alert('Button clicked!');
}
}
};
</script>
Скорочення v-on
— це символ at (@
), тому наведений вище приклад можна переписати так:
<button @click="showAlert">Click Me</button>
v-show: перемкнути видимість
Директива v-show
використовується для перемикання видимості елемента на основі виразу. На відміну від v-if
, він не видаляє елемент із DOM; він лише перемикає властивість CSS display
:
<template>
<div v-show="isVisible">This is visible!</div>
</template>
<script>
export default {
data() {
return {
isVisible: true
};
}
};
</script>
v-html: відтворення HTML
Директива v-html
використовується для оновлення внутрішнього HTML елемента. Це корисно, коли вам потрібно відобразити необроблений HTML у ваших компонентах Vue:
<template>
<div v-html="rawHtml"></div>
</template>
<script>
export default {
data() {
return {
rawHtml: '<strong>Bold Text</strong>'
};
}
};
</script>
Висновок
Директиви Vue.js надають потужні способи маніпулювання DOM і створення динамічних та інтерактивних веб-додатків. Розуміння основ директив Vue.js, таких як v-bind
, v-model
, v-if
, v-for
, v-on
, v-show
і v-html
є важливими для будь-якого розробника Vue. Опанувавши ці директиви, ви зможете створювати більш надійні та багатофункціональні програми за допомогою Vue.js.