KnockoutJS - Applicazione
KnockoutJS è ampiamente utilizzato per applicazioni a pagina singola: un sito Web creato con la capacità di recuperare tutti i dati necessari in modo dinamico con un carico di una singola pagina riducendo i round trip del server.
KnockoutJS è un framework lato client. Questa è una libreria JavaScript che rende molto facile associare HTML ai dati del dominio. Implementa un modello chiamato Model-View-ViewModel (MVVM). Observables è l'ingrediente magico di KnockoutJS. Tutti i dati rimangono sincronizzati a causa dell'attributo Observable.
Architettura
Visualizza
La vista non è altro che un'interfaccia utente creata utilizzando elementi HTML e stili CSS.
Puoi associare elementi HTML DOM al modello dati utilizzando KnockoutJS. Fornisce l'associazione dati a 2 vie tra View e ViewModel utilizzando il concetto di "data-bind", il che significa che tutti gli aggiornamenti eseguiti nell'interfaccia utente si riflettono nel modello dati e qualsiasi modifica apportata nel modello dati si riflette nell'interfaccia utente. Si può creare un'interfaccia utente che si aggiorna automaticamente con l'aiuto di knockoutJS.
ViewModel
ViewModel è un oggetto JavaScript, che contiene proprietà e funzioni necessarie per rappresentare i dati. View e ViewModel sono collegati insieme al concetto di data-bind dichiarativo utilizzato in HTML. Ciò semplifica la modifica dell'HTML senza modificare ViewModel. KnockoutJS si occupa dell'aggiornamento automatico dei dati tra di loro attraverso l'uso di Observables.
La sincronizzazione dei dati viene ottenuta mediante l'associazione di elementi DOM a Data Model, prima utilizzando il data-bind e quindi aggiornando questi 2 componenti tramite l'uso di Observables. Il rilevamento delle dipendenze viene eseguito automaticamente a causa di questa sincronizzazione dei dati. Non è necessaria alcuna codifica aggiuntiva per ottenerlo. KnockoutJS consente di creare una connessione diretta tra il display ei dati sottostanti.
È possibile creare le proprie associazioni chiamate come associazioni personalizzate per comportamenti specifici dell'applicazione. In questo modo Knockout ti dà il controllo diretto di come vuoi trasformare i tuoi dati in HTML.
Modello
Il modello è i dati del dominio sul server e viene manipolato come e quando la richiesta viene inviata / ricevuta da ViewModel.
I dati potrebbero essere archiviati in database, cookie o altre forme di archiviazione persistente. KnockoutJS non si preoccupa di come viene memorizzato. Spetta al programmatore comunicare tra i dati memorizzati e KnockoutJS.
La maggior parte delle volte, i dati vengono salvati e caricati tramite una chiamata Ajax.