การใช้งานเงื่อนไขในลูปใน Vue
เมื่อวนซ้ำองค์ประกอบด้วยลูป
สามารถกำหนดเงื่อนไขเพิ่มเติมได้
แต่ต้องเขียน directives v-for และ v-if
บนแท็กที่แตกต่างกัน
มิฉะนั้นจะเกิดความขัดแย้ง เพื่อหลีกเลี่ยง
ความขัดแย้งนี้ ให้ใช้ directive v-for
บนแท็ก template
และ directive v-if - โดยตรง
บนแท็กที่จะแสดงผล
มาดูตัวอย่างกัน สมมติเรามีอาร์เรย์ดังต่อไปนี้:
data() {
return {
arr: [1, 2, 3, 4, 5],
}
}
ให้วนซ้ำอาร์เรย์นี้ด้วยลูป:
<template>
<ul>
<li v-for="elem in arr">
{{ elem }}
</li>
</ul>
</template>
ตอนนี้ให้เพิ่มเงื่อนไขบน องค์ประกอบที่แสดง:
<template>
<ul>
<template v-for="elem in arr">
<li v-if="elem % 2 === 0">
{{ elem }}
</li>
</template>
</ul>
</template>
กำหนดอาร์เรย์ต่อไปนี้:
data() {
return {
items: [1, -2, 3, -4, 5],
}
}
ให้วนซ้ำอาร์เรย์นี้ด้วยลูป และแสดงผลเฉพาะองค์ประกอบ ที่เป็นบวกของอาร์เรย์