KnockoutJS - Приложение
KnockoutJS широко используется для одностраничных приложений - веб-сайт, созданный с возможностью динамического извлечения всех необходимых данных с помощью одной страницы, что снижает количество обращений к серверу.
KnockoutJS - это фреймворк на стороне клиента. Это библиотека JavaScript, которая упрощает привязку HTML к данным домена. Он реализует шаблон под названием Model-View-ViewModel (MVVM). Observables - волшебный ингредиент KnockoutJS. Все данные остаются синхронизированными из-за атрибута Observable.
Архитектура
Посмотреть
Просмотр - это не что иное, как пользовательский интерфейс, созданный с использованием элементов HTML и стилей CSS.
Вы можете привязать элементы HTML DOM к модели данных с помощью KnockoutJS. Он обеспечивает двустороннюю привязку данных между View и ViewModel с использованием концепции привязки данных, что означает, что любые обновления, сделанные в пользовательском интерфейсе, отражаются в модели данных, а любые изменения, сделанные в модели данных, отражаются в пользовательском интерфейсе. Самостоятельно обновляемый пользовательский интерфейс можно создать с помощью knockoutJS.
ViewModel
ViewModel - это объект JavaScript, который содержит необходимые свойства и функции для представления данных. View и ViewModel связаны вместе с концепцией декларативного связывания данных, используемой в HTML. Это упрощает изменение HTML без изменения ViewModel. KnockoutJS заботится об автоматическом обновлении данных между ними с помощью Observables.
Синхронизация данных достигается за счет привязки элементов DOM к модели данных, сначала с помощью привязки данных, а затем обновления этих двух компонентов с помощью Observables. Отслеживание зависимостей выполняется автоматически благодаря этой синхронизации данных. Для этого не требуется никакого дополнительного кодирования. KnockoutJS позволяет создать прямую связь между отображением и базовыми данными.
Вы можете создавать свои собственные привязки, называемые настраиваемыми привязками, для поведения конкретных приложений. Таким образом, Knockout дает прямой контроль над тем, как вы хотите преобразовать свои данные в HTML.
Модель
Модель - это данные домена на сервере, и ими манипулируют по мере отправки / получения запроса от ViewModel.
Данные могут храниться в базе данных, файлах cookie или другом постоянном хранилище. KnockoutJS не беспокоится о том, как он хранится. Программист должен обмениваться данными между сохраненными данными и KnockoutJS.
В большинстве случаев данные сохраняются и загружаются через вызов Ajax.