Русская Википедия:Knockout.js
Шаблон:Карточка программы Knockout.js (Шаблон:Lang-enнокаут) — свободный JavaScript каркас веб-приложений, реализующий Model-View-View-Model шаблон c образцами. Основными принципами являются:
- чёткое разделение доменных данных, компонентов отображения и отображаемых данных
- наличие чётко определённого слоя специализированного кода, задающего отношение компонентов отображения.
Автором библиотеки является сотрудник Microsoft, однако, по его словам библиотека останется такой, какой она является, и будет развиваться в направлении, определяемом лишь им самим и сообществом пользователей. Также он подчёркивает, что библиотека не является продуктом Microsoft[1].
На начало 2015 года библиотека была ранее использована на 17018 веб-сайтах, и продолжает использоваться на 29039 сайтах, в том числе на 55 из 10 тысяч наиболее популярных[2], например, на сайте компании Philips[3].
Особенности
- Декларативное связывание
- Автоматическое обновление интерфейса при изменении состояния данных модели
- Отслеживание зависимостей
- Прототипирование с использованием как собственных так и сторонних механизмов (например, jquery.tmpl)
Пример
В данном примере, два текстовых поля привязаны к отслеживаемым переменным в модели данных. В случае изменения их значений будет вызвана функция, меняющая значение fullName, что соответственно изменит значение в представлении (HTML).
View (HTML)
<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<p>Full name: <strong data-bind="text: fullName"></strong></p>
View Model (JavaScript)
function ViewModel() {
this.firstName = ko.observable("Joe");
this.lastName = ko.observable("Bloggs");
this.fullName = ko.computed(function() {
return this.firstName() + " " + this.lastName();
}, this);
}
ko.applyBindings(new ViewModel());
См. также
Примечания
Литература
Ссылки
- Шаблон:Official
- Knockout MVC: A framework integrating KnockoutJS into ASP.NETШаблон:Ref-en
- Knockout JS: Helping you build dynamic JavaScript UIs with MVVM and ASP.NETШаблон:Ref-en
- Using Isotope with Knockout.jsШаблон:Ref-en
- Примеры Knockout.jsШаблон:Ref-en
- Страницы, использующие устаревший тег source
- Русская Википедия
- Веб-фреймворки на JavaScript
- Библиотеки JavaScript
- JavaScript
- Свободное кроссплатформенное программное обеспечение
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом
- Википедия
- Статья из Википедии
- Статья из Русской Википедии