Knockout.js

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 16 ноября 2017 года; проверки требуют14 правок.
Перейти к навигацииПерейти к поиску
Knockout.js
Типбиблиотека JavaScript
АвторSteve Sanderson
Написана наJavaScript
Операционная системакроссплатформенность
Аппаратная платформакроссплатформенность
Последняя версия
Репозиторийgithub.com/knockout/knoc…
Лицензиялицензия MIT
Сайтknockoutjs.com (англ.)

Knockout.js (англ. нокаут) —свободныйJavaScriptкаркас веб-приложений, реализующийModel-View-ViewModel шаблон c образцами. Основными принципами являются:

  • чёткое разделение доменных данных, компонентов отображения и отображаемых данных
  • наличие чётко определённого слоя специализированного кода, задающего отношение компонентов отображения.

Автором библиотеки является сотрудникMicrosoft, однако, по его словам библиотека останется такой, какой она является, и будет развиваться в направлении, определяемом лишь им самим и сообществом пользователей. Также он подчёркивает, что библиотека не является продуктом Microsoft[3].

На начало 2015 года библиотека была ранее использована на 17018 веб-сайтах, и продолжает использоваться на 29039 сайтах, в том числе на 55 из 10 тысяч наиболее популярных[4], например, на сайте компанииPhilips[5].

Содержание

Особенности

[править |править код]
  • Декларативное связывание
  • Автоматическое обновление интерфейса при изменении состояния данных модели
  • Отслеживание зависимостей
  • Прототипирование с использованием как собственных так и сторонних механизмов (например,jquery.tmpl)

Пример

[править |править код]

В данном примере, два текстовых поля привязаны к отслеживаемым переменным в модели данных. В случае изменения их значений будет вызвана функция, меняющая значениеfullName, что соответственно изменит значение в представлении (HTML).

View (HTML)

[править |править код]
<p>Firstname:<inputdata-bind="value: firstName"/></p><p>Lastname:<inputdata-bind="value: lastName"/></p><p>Fullname:<strongdata-bind="text: fullName"></strong></p>

View Model (JavaScript)

[править |править код]
functionViewModel(){this.firstName=ko.observable("Joe");this.lastName=ko.observable("Bloggs");this.fullName=ko.computed(function(){returnthis.firstName()+" "+this.lastName();},this);}ko.applyBindings(newViewModel());

См. также

[править |править код]

Примечания

[править |править код]
  1. Release 3.5.1 — 2019.
  2. npmjs
  3. Steven Sanderson's blog post 'Hello, Microsoft'  (неопр.). blog.stevensanderson.com (3 ноября 2010). Дата обращения: 22 октября 2014. Архивировано 20 ноября 2014 года.
  4. Статистика использования Knockout.js на веб-сайтах (англ.). Дата обращения: 17 января 2015. Архивировано 18 января 2015 года.
  5. Использование Knockout.js на веб-сайтах (англ.). Дата обращения: 17 января 2015. Архивировано 27 февраля 2015 года.

Литература

[править |править код]
  • Munro, J. Knockout.js: Building Dynamic Client-Side Web Applications. — O'Reilly Media, 2014. — 102 p. —ISBN 9781491914328.
  • Munro, J. ASP. NET MVC 5 with Bootstrap and Knockout. Js: Building Dynamic, Responsive Web Applications. — O'Reilly Media, Incorporated, 2015. — 200 p. —ISBN 9781491914397.
  • Messora, R. Web App Testing Using Knockout.JS. — Packt Publishing Ltd, 2014. — 154 p. —ISBN 9781783982851.
  • Moran, T. Mastering KnockoutJS. — 2014. — 270 p. —ISBN 9781783981014.

Ссылки

[править |править код]
Перейти к шаблону «JavaScript»
Идеи
Компиляторы
Движки
Библиотеки
ифреймворки
Редакторы
Инструменты
Связанные
технологии
Люди
Источник —https://ru.wikipedia.org/w/index.php?title=Knockout.js&oldid=137935930
Категории:
Скрытые категории: