Knockout.js - это библиотека JavaScript с открытым исходным кодом для динамического HTML. Использует шаблон Model-View-Viewmodel (MVVM).

Knockout.jsс открытым исходным кодом JavaScript библиотечная реализация модели просмотра модели (MVVM) шаблона пользовательского интерфейса в JavaScriptи HTML.

Knockout.js- это чистый JavaScriptбиблиотека без внешних зависимостей. Он поддерживается во всех основных браузерах: IE 6+, Firefox 2+, Chrome, Opera, Safari (для ПК и мобильных устройств).

Knockout.jsработает с любой веб-инфраструктурой.

Основные функции Knockout.jsвключают в себя:

  • Бесплатная программа с открытым исходным кодом (лицензия MIT)
  • Маленький и легкий - 55 КБ
  • Декларативные привязки: легко связывают элементы DOM с данными модели, используя краткий читаемый синтаксис.
  • Двусторонняя привязка: при изменении состояния модели представления пользовательский интерфейс обновляется автоматически. Когда вы изменяете значения элемента формы, состояние модели представления обновляется автоматически.
  • Отслеживание зависимостей: неявно устанавливают цепочки связей между данными модели, чтобы преобразовать и объединить их.
  • Шаблонирование: Быстрая генерация сложных вложенных пользовательских интерфейсов в зависимости от данных модели.
  • Компоненты - 3.2.0+: элементы управления или виджеты, состоящие из автономных многократно используемых фрагментов кода.

Полезные ссылки

Набор для начинающих в стеке

Html:

<script src="//cdnjs.cloudflare.com/ajax/libs/knockout/3.4.0/knockout-debug.js"></script>

<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<h2>Hello, <span data-bind="text: fullName"> </span>!</h2>

Javascript:

var ViewModel = function(first, last) {
    this.firstName = ko.observable(first);
    this.lastName = ko.observable(last);

    this.fullName = ko.pureComputed(function() {
        return this.firstName() + " " + this.lastName();
    }, this);
};

ko.applyBindings(new ViewModel("Planet", "Earth"));