Podstawy dyrektyw Vue.js
Dyrektywy Vue.js to specjalne tokeny w znacznikach, które nakazują bibliotece wykonanie czegoś z elementem DOM. Są one poprzedzone prefiksem v-
, aby wskazać, że są to specjalne atrybuty dostarczane przez Vue. Dyrektywy są jedną z podstawowych funkcji Vue.js, umożliwiającą programistom wydajną manipulację DOM.
W tym artykule przyjrzymy się podstawom dyrektyw Vue.js, omówieniu najczęściej używanych dyrektyw i sposobowi ich wykorzystania w aplikacjach Vue.
Często używane dyrektywy w Vue.js
Oto niektóre z najczęściej używanych dyrektyw w Vue.js:
- v-bind: Dynamicznie wiąże jeden lub więcej atrybutów lub właściwość komponentu z wyrażeniem.
- v-model: Tworzy dwukierunkowe powiązanie danych w polach wprowadzania danych formularza, obszarze tekstowym i elementach zaznaczenia.
- v-if: Warunkowo renderuje element lub komponent.
- v-else: Zapewnia blok else dla
v-if
. - v-else-if: Udostępnia blok else-if dla
v-if
. - v-for: Renderuje listę elementów za pomocą tablicy lub obiektu.
- v-on: Dołącza nasłuchiwacze zdarzeń do elementów.
- v-show: Przełącza widoczność elementu na podstawie wyrażenia.
- v-html: Aktualizuje wewnętrzny kod HTML elementu.
v-bind: Dynamiczne wiązanie atrybutów
Dyrektywa v-bind
służy do dynamicznego wiązania atrybutów lub właściwości z wyrażeniem. Na przykład możesz powiązać atrybut src
elementu img
z właściwością danych:
<template>
<img v-bind:src="imageSrc" alt="Dynamic Image" />
</template>
<script>
export default {
data() {
return {
imageSrc: 'https://example.com/image.jpg'
};
}
};
</script>
Skrót dla v-bind
to po prostu dwukropek (:
), więc powyższy przykład można zapisać w następujący sposób:
<img :src="imageSrc" alt="Dynamic Image" />
v-model: Dwukierunkowe wiązanie danych
Dyrektywa v-model
służy do tworzenia dwukierunkowego powiązania danych w elementach wejściowych formularza. Utrzymuje element wejściowy i właściwość danych w synchronizacji:
<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 i v-else: renderowanie warunkowe
Dyrektywy v-if
, v-else-if
i v-else
służą do warunkowego renderowania elementów. Umożliwiają warunkowe renderowanie elementów na podstawie oceny wyrażenia:
<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: Renderowanie listy
Dyrektywa v-for
służy do renderowania listy elementów poprzez iterowanie po tablicy lub obiekcie. Każdy element w tablicy można renderować za pomocą pętli:
<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: Obsługa zdarzeń
Dyrektywa v-on
służy do dołączania nasłuchiwaczy zdarzeń do elementów DOM. Możesz obsługiwać interakcje użytkownika, takie jak kliknięcia, dane wejściowe i inne:
<template>
<button v-on:click="showAlert">Click Me</button>
</template>
<script>
export default {
methods: {
showAlert() {
alert('Button clicked!');
}
}
};
</script>
Skrótem dla v-on
jest symbol at (@
), więc powyższy przykład można zapisać w następujący sposób:
<button @click="showAlert">Click Me</button>
v-show: Przełącz widoczność
Dyrektywa v-show
służy do przełączania widoczności elementu na podstawie wyrażenia. W przeciwieństwie do v-if
, nie usuwa elementu z DOM; przełącza jedynie właściwość CSS display
:
<template>
<div v-show="isVisible">This is visible!</div>
</template>
<script>
export default {
data() {
return {
isVisible: true
};
}
};
</script>
v-html: Renderowanie HTML
Dyrektywa v-html
służy do aktualizacji wewnętrznego kodu HTML elementu. Jest przydatna, gdy trzeba renderować surowy kod HTML w komponentach Vue:
<template>
<div v-html="rawHtml"></div>
</template>
<script>
export default {
data() {
return {
rawHtml: '<strong>Bold Text</strong>'
};
}
};
</script>
Wniosek
Dyrektywy Vue.js zapewniają potężne sposoby manipulowania DOM i tworzenia dynamicznych i interaktywnych aplikacji internetowych. Zrozumienie podstaw dyrektyw Vue.js, takich jak v-bind
, v-model
, v-if
, v-for
, v-on
, v-show
i v-html
, jest niezbędne dla każdego programisty Vue. Opanowanie tych dyrektyw pozwoli Ci tworzyć bardziej solidne i bogate w funkcje aplikacje za pomocą Vue.js.