Skapa komponenter i en loop i Vue
Komponenter kan skapas i en loop, och man kan skicka motsvarande data till dem. Låt oss titta på hur det går till. Låt oss anta att den förälderkomponenten har följande array med objekt:
data() {
return {
users: [
{
id: 1,
name: 'name1',
surn: 'surn1'
},
{
id: 2,
name: 'name2',
surn: 'surn2'
},
{
id: 3,
name: 'name3',
surn: 'surn3'
},
],
}
}
Låt oss iterera över denna array med objekt i en loop och i loopen skapa komponenter för användarna:
<template>
<User v-for="user in users" />
</template>
Låt oss ange värden för attributet key
för att loopen ska fungera korrekt:
<template>
<User v-for="user in users" :key="user.id" />
</template>
Låt oss också skicka data till komponenterna, namnet och efternamnet för varje användare:
<template>
<User
v-for="user in users"
:name="user.name"
:surn="user.surn"
:key="user.id"
/>
</template>
Följande array med data för anställda är given:
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,
},
],
}
}
Skapa komponenter Employee baserat på
denna array med hjälp av en loop,
och skicka motsvarande data till dem.