การสร้าง custom bindings ใน KnockoutJS นั้นทำได้โดยใช้ ko.bindingHandlers
ko.bindingHandlers
เป็นฟังก์ชันที่รับชื่อบอินเป็นอินพุตและคืนค่าวัตถุที่ประกอบด้วยฟังก์ชันต่อไปนี้:
init
: ฟังก์ชันนี้จะถูกเรียกเมื่อองค์ประกอบ DOM ถูกสร้างขึ้นupdate
: ฟังก์ชันนี้จะถูกเรียกเมื่อค่าของบอินเปลี่ยนแปลงdispose
: ฟังก์ชันนี้จะถูกเรียกเมื่อองค์ประกอบ DOM ถูกลบออกจาก DOM
ตัวอย่างเช่น:
1 | ko.bindingHandlers.myBinding = { |
เพื่อใช้ custom binding ของคุณ คุณต้องกำหนดค่าบอินให้กับองค์ประกอบ DOM โดยใช้ data-bind
ตัวอย่างเช่น:
1 | <input type="text" data-bind="myBinding: myValue"> |
สิ่งนี้จะผูกองค์ประกอบอินพุตข้อความกับค่าของคุณสมบัติ myValue
ในโมเดลโดยใช้ custom binding ของคุณ
Here are some examples of how you can use custom bindings in KnockoutJS:
- You can create a custom binding to format a date:
1 | ko.bindingHandlers.myBinding = { |
- You can create a custom binding to validate a value:
1 | ko.bindingHandlers.myBinding = { |
- You can create a custom binding to create a reusable component:
1 | ko.bindingHandlers.myComponent = { |
Custom bindings เป็นเครื่องมือที่ทรงพลังที่สามารถใช้เพื่อปรับแต่งพฤติกรรมของ KnockoutJS
By using custom bindings, you can make your applications more powerful and flexible.