KnockoutJS - แอปพลิเคชัน

KnockoutJS ใช้กันอย่างแพร่หลายสำหรับ Single Page Applications - เว็บไซต์ที่สร้างขึ้นด้วยความสามารถในการดึงข้อมูลที่จำเป็นทั้งหมดแบบไดนามิกด้วยการโหลดหน้าเดียวเพื่อลดการเดินทางไปกลับของเซิร์ฟเวอร์

KnockoutJS เป็นกรอบงานฝั่งไคลเอ็นต์ นี่คือไลบรารี JavaScript ซึ่งทำให้ง่ายต่อการผูก HTML กับข้อมูลโดเมน มันใช้รูปแบบที่เรียกว่า Model-View-ViewModel (MVVM) Observables เป็นส่วนผสมมหัศจรรย์ของ KnockoutJS ข้อมูลทั้งหมดยังคงซิงค์เนื่องจากแอตทริบิวต์ที่สังเกตได้

สถาปัตยกรรม

ดู

มุมมองเป็นเพียงส่วนต่อประสานผู้ใช้ที่สร้างขึ้นโดยใช้องค์ประกอบ HTML และสไตล์ CSS

คุณสามารถผูกองค์ประกอบ HTML DOM กับโมเดลข้อมูลโดยใช้ KnockoutJS มีการเชื่อมโยงข้อมูล 2 ทางระหว่าง View และ ViewModel โดยใช้แนวคิด 'data-bind' ซึ่งหมายความว่าการอัปเดตใด ๆ ที่ทำใน UI จะแสดงในโมเดลข้อมูลและการเปลี่ยนแปลงใด ๆ ที่ทำในโมเดลข้อมูลจะแสดงใน UI เราสามารถสร้าง UI ที่อัปเดตด้วยตนเองได้ด้วยความช่วยเหลือของ knockoutJS

ViewModel

ViewModel เป็นอ็อบเจ็กต์ JavaScript ซึ่งมีคุณสมบัติและฟังก์ชันที่จำเป็นในการแสดงข้อมูล View และ ViewModel เชื่อมต่อกันด้วยแนวคิดการผูกข้อมูลแบบเปิดเผยที่ใช้ใน HTML ทำให้ง่ายต่อการเปลี่ยน HTML โดยไม่ต้องเปลี่ยน ViewModel KnockoutJS ดูแลการรีเฟรชข้อมูลอัตโนมัติระหว่างกันผ่านการใช้ Observables

การซิงโครไนซ์ข้อมูลทำได้โดยการผูกองค์ประกอบ DOM เข้ากับโมเดลข้อมูลโดยใช้การผูกข้อมูลก่อนแล้วจึงรีเฟรชส่วนประกอบทั้ง 2 นี้โดยใช้ Observables การติดตามการพึ่งพาจะทำโดยอัตโนมัติเนื่องจากการซิงโครไนซ์ข้อมูลนี้ ไม่จำเป็นต้องมีการเข้ารหัสเพิ่มเติมเพื่อให้บรรลุ KnockoutJS อนุญาตให้สร้างการเชื่อมต่อโดยตรงระหว่างจอแสดงผลและข้อมูลพื้นฐาน

คุณสามารถสร้างการเชื่อมโยงของคุณเองที่เรียกว่าเป็นการผูกแบบกำหนดเองสำหรับพฤติกรรมเฉพาะของแอปพลิเคชัน วิธีนี้ทำให้ Knockout สามารถควบคุมได้โดยตรงว่าคุณต้องการแปลงข้อมูลเป็น HTML อย่างไร

รุ่น

Model คือข้อมูลโดเมนบนเซิร์ฟเวอร์และได้รับการจัดการเมื่อมีการส่ง / รับคำขอจาก ViewModel

ข้อมูลอาจถูกเก็บไว้ในฐานข้อมูลคุกกี้หรือที่เก็บถาวรในรูปแบบอื่น ๆ KnockoutJS ไม่ต้องกังวลเกี่ยวกับวิธีการจัดเก็บ ขึ้นอยู่กับโปรแกรมเมอร์ในการสื่อสารระหว่างข้อมูลที่จัดเก็บและ KnockoutJS

โดยส่วนใหญ่ข้อมูลจะถูกบันทึกและโหลดผ่านการโทร Ajax