Cara menggunakan scoped slots di Vue

slot spin harta

saku slot

best online casino payouts

top casino website

Cara menggunakan scoped slots di Vue

Slot cakupan di Vue memungkinkan komponen anak mengirimkan data kembali ke konten slot induk, menciptakan pola template yang kuat di mana komponen anak menyediakan data untuk logika rendering yang ditentukan induk. Pendekatan paling efektif adalah menggunakan props slot untuk mengirim data dari anak ke induk dengan arahan template v-slot untuk konsumsi yang bersih. Metode ini menyediakan komposisi komponen dengan aliran data dari anak ke induk dan pola rendering yang sangat dapat disesuaikan.

Gunakan props slot untuk mengirim data dari komponen anak ke konten slot induk dengan arahan template v-slot.

<!-- Komponen Anak: UserList -->
<template>
<div class="user-list">
<h3>Pengguna</h3>
<div v-for="user in users" :key="user" class="user-item">
<slot name="user" :user="user" :isActive="user === 'active'" :actions="{ edit: editUser, delete: deleteUser }">
<div>{{ user }} - {{ user }}</div>
</slot>
</div>
<slot name="summary" :totalUsers="users" :activeUsers="activeUsersCount">
<p>Total: {{ users }} pengguna</p>
</slot>
</div>
</template>
<script setup>
import { ref, computed } from 'vue'
const users = ref([
{ id: 1, name: 'John Doe', email: 'john@example', status: 'active' },
{ id: 2, name: 'Jane Smith', email: 'jane@example', status: 'inactive' }
])
const activeUsersCount = computed(() => value(user => user === 'active').length)
const editUser = (user) => { console('Mengedit pengguna:', user) }
const deleteUser = (user) => { users = value(u => u !== user) }
</script>
<!-- Komponen Induk -->
<template>
<div>
<UserList>
<template #user="{ user, isActive, actions }">
<div class="custom-user-card" :class="{ active: isActive }">
<img :src="`/avatars/${user}.jpg`" :alt="user">
<div class="user-info">
<h4>{{ user }}</h4>
<p>{{ user }}</p>
<span v-if="isActive" class="status-badge">Aktif</span>
</div>
<div class="user-actions">
<button @click="actions(user)">Edit</button>
<button @click="actions(user)">Hapus</button>
</div>
</div>
</template>
<template #summary="{ totalUsers, activeUsers }">
<div class="summary-card">
<h4>Statistik Pengguna</h4>
<p>Total Pengguna: {{ totalUsers }}</p>
<p>Pengguna Aktif: {{ activeUsers }}</p>
<p>Pengguna Tidak Aktif: {{ totalUsers - activeUsers }}</p>
</div>
</template>
</UserList>
</div>
</template>

Slot cakupan mengirim data dari anak ke induk menggunakan props slot dalam definisi slot. Komponen induk mengakses data ini menggunakan template v-slot dengan sintaks destructuring. Ini memungkinkan komponen anak menyediakan data sementara komponen induk mengontrol logika rendering, menciptakan pola komponen yang kuat dan fleksibel.

vue slot example

▲ Kembali ke atas

Platform Lainnya

user slot

rolete

ngannou record

jayanet

Berita Piala Dunia

monster casino login

casino wikipedia

jos88

bonbon777 slot

Jika Anda memiliki pertanyaan, silakan kirim email ke [email protected]

▲ Kembali ke atas