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