การสร้างคอมโพเนนต์แบบวนลูปใน Vue
เราสามารถสร้างคอมโพเนนต์แบบวนลูปได้ โดยส่งข้อมูลที่สอดคล้องกันให้กับพวกมัน มาดูกันว่าสิ่งนี้ทำได้อย่างไร สมมติว่าในคอมโพเนนต์แม่ มีอาร์เรย์ของอ็อบเจ็กต์ต่อไปนี้:
data() {
return {
users: [
{
id: 1,
name: 'name1',
surn: 'surn1'
},
{
id: 2,
name: 'name2',
surn: 'surn2'
},
{
id: 3,
name: 'name3',
surn: 'surn3'
},
],
}
}
ลองวนลูปอาร์เรย์ของอ็อบเจ็กต์นี้ และในลูปเราจะสร้าง คอมโพเนนต์ผู้ใช้:
<template>
<User v-for="user in users" />
</template>
มากำหนดค่าแอตทริบิวต์ key
สำหรับการทำงานที่ถูกต้องของลูป:
<template>
<User v-for="user in users" :key="user.id" />
</template>
นอกจากนี้เรายังจะส่งข้อมูลไปยังคอมโพเนนต์ด้วย, เช่นชื่อและนามสกุลของผู้ใช้แต่ละคน:
<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,
},
],
}
}
โดยใช้ลูป ให้สร้างคอมโพเนนต์ Employee
ขึ้นมาจากอาร์เรย์นี้
และส่งข้อมูลที่สอดคล้องกันให้กับพวกมัน