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.