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.