Dasar-dasar Direktif Vue.js
Direktif Vue.js adalah token khusus dalam markup yang memberi tahu pustaka untuk melakukan sesuatu pada elemen DOM. Direktif ini diawali dengan v-
untuk menunjukkan bahwa direktif tersebut adalah atribut khusus yang disediakan oleh Vue. Direktif adalah salah satu fitur inti Vue.js, yang memungkinkan pengembang untuk memanipulasi DOM secara efisien.
Dalam artikel ini, kita akan menjelajahi dasar-dasar direktif Vue.js, mencakup direktif yang paling umum digunakan dan cara menggunakannya dalam aplikasi Vue Anda.
Direktif yang Umum Digunakan di Vue.js
Berikut adalah beberapa arahan yang paling umum digunakan di Vue.js:
- v-bind: Secara dinamis mengikat satu atau lebih atribut atau properti komponen ke suatu ekspresi.
- v-model: Membuat pengikatan data dua arah pada elemen input formulir, textarea, dan pilih.
- v-if: Merender elemen atau komponen secara kondisional.
- v-else: Menyediakan blok else untuk
v-if
. - v-else-if: Menyediakan blok else-if untuk
v-if
. - v-for: Merender daftar item menggunakan array atau objek.
- v-on: Melampirkan pendengar acara ke elemen.
- v-show: Mengaktifkan atau menonaktifkan visibilitas elemen berdasarkan ekspresi.
- v-html: Memperbarui HTML bagian dalam suatu elemen.
v-bind: Mengikat Atribut Secara Dinamis
Direktif v-bind
digunakan untuk mengikat atribut atau properti secara dinamis ke suatu ekspresi. Misalnya, Anda dapat mengikat atribut img
dari elemen img
ke suatu properti data:
<template>
<img v-bind:src="imageSrc" alt="Dynamic Image" />
</template>
<script>
export default {
data() {
return {
imageSrc: 'https://example.com/image.jpg'
};
}
};
</script>
Singkatan untuk v-bind
hanyalah titik dua (:
), sehingga contoh di atas dapat ditulis ulang sebagai:
<img :src="imageSrc" alt="Dynamic Image" />
v-model: Pengikatan Data Dua Arah
Direktif v-model
digunakan untuk membuat pengikatan data dua arah pada elemen input formulir. Direktif ini menjaga elemen input dan properti data tetap sinkron:
<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, dan v-else: Rendering Bersyarat
Direktif v-if
, v-else-if
, dan v-else
digunakan untuk merender elemen secara bersyarat. Direktif ini memungkinkan Anda merender elemen secara bersyarat berdasarkan evaluasi suatu ekspresi:
<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: Rendering Daftar
Direktif v-for
digunakan untuk merender daftar item dengan melakukan iterasi pada array atau objek. Setiap item dalam array dapat dirender menggunakan loop:
<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: Penanganan Acara
Direktif v-on
digunakan untuk melampirkan event listener ke elemen DOM. Anda dapat menangani interaksi pengguna seperti klik, input, dan lainnya:
<template>
<button v-on:click="showAlert">Click Me</button>
</template>
<script>
export default {
methods: {
showAlert() {
alert('Button clicked!');
}
}
};
</script>
Singkatan untuk v-on
adalah simbol at (@
), sehingga contoh di atas dapat ditulis ulang sebagai:
<button @click="showAlert">Click Me</button>
v-show: Alihkan Visibilitas
Direktif v-show
digunakan untuk mengubah visibilitas suatu elemen berdasarkan suatu ekspresi. Tidak seperti v-if
, direktif ini tidak menghapus elemen dari DOM; direktif ini hanya mengubah properti CSS display
:
<template>
<div v-show="isVisible">This is visible!</div>
</template>
<script>
export default {
data() {
return {
isVisible: true
};
}
};
</script>
v-html: Merender HTML
Direktif v-html
digunakan untuk memperbarui HTML bagian dalam suatu elemen. Direktif ini berguna saat Anda perlu merender HTML mentah dalam komponen Vue Anda:
<template>
<div v-html="rawHtml"></div>
</template>
<script>
export default {
data() {
return {
rawHtml: '<strong>Bold Text</strong>'
};
}
};
</script>
Kesimpulan
Direktif Vue.js menyediakan cara yang ampuh untuk memanipulasi DOM dan membuat aplikasi web yang dinamis dan interaktif. Memahami dasar-dasar direktif Vue.js seperti v-bind
, v-model
, v-if
, v-for
, v-on
, v-show
, dan v-html
sangat penting bagi setiap pengembang Vue. Dengan menguasai direktif ini, Anda dapat membangun aplikasi yang lebih tangguh dan kaya fitur dengan Vue.js.