Δημιουργία components σε loop στο Vue
Τα components μπορούν να δημιουργηθούν σε loop, περνώντας τους τα αντίστοιχα δεδομένα. Ας δούμε πώς γίνεται αυτό. Ας υποθέσουμε ότι στο γονεϊκό component υπάρχει ο ακόλουθος πίνακας αντικειμένων:
data() {
return {
users: [
{
id: 1,
name: 'name1',
surn: 'surn1'
},
{
id: 2,
name: 'name2',
surn: 'surn2'
},
{
id: 3,
name: 'name3',
surn: 'surn3'
},
],
}
}
Ας διατρέξουμε αυτόν τον πίνακα αντικειμένων με ένα loop και στο loop να δημιουργήσουμε components με τους χρήστες:
<template>
<User v-for="user in users" />
</template>
Ας ορίσουμε τις τιμές του χαρακτηριστικού key
για τη σωστή λειτουργία του loop:
<template>
<User v-for="user in users" :key="user.id" />
</template>
Ας μεταφέρουμε επίσης στα components τα δεδομένα τους, το όνομα και το επώνυμό κάθε χρήστη:
<template>
<User
v-for="user in users"
:name="user.name"
:surn="user.surn"
:key="user.id"
/>
</template>
Δίνεται ο ακόλουθος πίνακας με δεδομένα εργαζομένων:
data() {
return {
users: [
{
id: 1,
name: 'name1',
salary: 100,
age: 30,
},
{
id: 2,
name: 'name2',
salary: 200,
age: 40,
},
{
id: 3,
name: 'name3',
salary: 300,
age: 50,
},
],
}
}
Χρησιμοποιώντας ένα loop δημιουργήστε βάσει
αυτού του πίνακα components Employee,
περνώντας τους τα αντίστοιχα δεδομένα.