KnockoutJS - Aplikasi
KnockoutJS banyak digunakan untuk Aplikasi Halaman Tunggal - Sebuah situs web yang dibuat dengan kemampuan untuk mengambil semua data yang diperlukan secara dinamis dengan satu halaman yang mengurangi perjalanan bolak-balik server.
KnockoutJS adalah kerangka sisi klien. Ini adalah pustaka JavaScript yang membuatnya sangat mudah untuk mengikat HTML ke data domain. Ini mengimplementasikan pola yang disebut Model-View-ViewModel (MVVM). Yang bisa diamati adalah bahan ajaib KnockoutJS. Semua data tetap sinkron karena atribut Observable.
Arsitektur
Melihat
Tampilan tidak lain adalah antarmuka pengguna yang dibuat menggunakan elemen HTML dan gaya CSS.
Anda dapat mengikat elemen HTML DOM ke model data menggunakan KnockoutJS. Ini menyediakan pengikatan data 2 arah antara View dan ViewModel menggunakan konsep 'data-bind', yang berarti setiap pembaruan yang dilakukan di UI tercermin dalam model data dan setiap perubahan yang dilakukan dalam model data tercermin di UI. Seseorang dapat membuat UI yang memperbarui diri dengan bantuan knockoutJS.
ViewModel
ViewModel adalah objek JavaScript, yang berisi properti dan fungsi yang diperlukan untuk merepresentasikan data. View dan ViewModel dihubungkan bersama dengan konsep data-bind deklaratif yang digunakan dalam HTML. Ini memudahkan untuk mengubah HTML tanpa mengubah ViewModel. KnockoutJS menangani penyegaran data otomatis di antara mereka melalui penggunaan Observables.
Sinkronisasi data dicapai melalui pengikatan elemen DOM ke Model Data, pertama menggunakan data-bind dan kemudian menyegarkan 2 komponen ini melalui penggunaan Observables. Pelacakan ketergantungan dilakukan secara otomatis karena sinkronisasi data ini. Tidak diperlukan pengkodean tambahan untuk mencapainya. KnockoutJS memungkinkan untuk membuat koneksi langsung antara tampilan dan data yang mendasarinya.
Anda dapat membuat binding sendiri yang disebut sebagai binding kustom untuk perilaku khusus aplikasi. Dengan cara ini Knockout memberikan kendali langsung tentang bagaimana Anda ingin mengubah data Anda menjadi HTML.
Model
Model adalah data domain di server dan dimanipulasi saat dan saat permintaan dikirim / diterima dari ViewModel.
Data dapat disimpan dalam database, cookie, atau bentuk penyimpanan persisten lainnya. KnockoutJS tidak khawatir tentang cara penyimpanannya. Terserah programmer untuk berkomunikasi antara data yang disimpan dan KnockoutJS.
Sering kali, data disimpan dan dimuat melalui panggilan Ajax.