foreach ใน KnockoutJS

foreach binding ใน KnockoutJS คือการผูกคุณสมบัติขององค์ประกอบ DOM กับแต่ละรายการในคอลเลกชัน สิ่งนี้ช่วยให้คุณสามารถแสดงรายการข้อมูลในองค์ประกอบ UI ของคุณได้อย่างง่ายดาย

Syntax ของ foreach binding คือ:

1
data-bind="foreach: collection"

โดยที่ collection คือชื่อของคอลเลกชันในโมเดลของคุณที่คุณต้องการแสดง

foreach binding จะสร้างองค์ประกอบ DOM ใหม่สำหรับแต่ละรายการในคอลเลกชันและผูกคุณสมบัติขององค์ประกอบ DOM เหล่านั้นกับคุณสมบัติของรายการนั้น

ตัวอย่างเช่น:

1
2
3
<ul data-bind="foreach: myCollection">
<li data-bind="text: item.name"></li>
</ul>

สิ่งนี้จะสร้างรายการใหม่สำหรับแต่ละรายการในคอลเลกชัน myCollection และผูกคุณสมบัติ text ของรายการนั้นกับคุณสมบัติ name ของรายการนั้น

เมื่อ myCollection เปลี่ยนแปลง รายการใหม่จะถูกสร้างขึ้นและเพิ่มลงในรายการที่มีอยู่

foreach binding เป็นวิธีที่มีประสิทธิภาพในการแสดงรายการข้อมูลในองค์ประกอบ UI ของคุณ การใช้ foreach binding คุณสามารถทำให้แอปพลิเคชันของคุณตอบสนองและใช้งานง่ายยิ่งขึ้น

Here are some examples of how you can use foreach binding in KnockoutJS:

  • You can use foreach binding to display a list of items:
1
2
3
<ul data-bind="foreach: myItems">
<li data-bind="text: item"></li>
</ul>
  • You can use foreach binding to display a table of data:
1
2
3
4
5
6
7
8
9
10
<table data-bind="foreach: myData">
<tr>
<th data-bind="text: field1"></th>
<th data-bind="text: field2"></th>
</tr>
<tr data-bind="foreach: items">
<td data-bind="text: item.field1"></td>
<td data-bind="text: item.field2"></td>
</tr>
</table>
  • You can use foreach binding to display a tree of data:
1
2
3
4
5
6
7
<ul data-bind="foreach: myTree">
<li data-bind="text: name">
<ul data-bind="foreach: children">
<li data-bind="text: name"></li>
</ul>
</li>
</ul>

foreach binding is a powerful tool that can be used to display lists of data in your KnockoutJS applications. By using foreach binding, you can make your applications more responsive and user-friendly.