Knockout.js: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
{{JavaScript}}
Преамбула: Викиданные
Строка 1: Строка 1:
{{Карточка программы
{{Карточка программы
| name = Knockout.js
| name = <!-- Wikidata -->
| logo =
| logo =
| screenshot =
| screenshot =
| author = [http://blog.stevensanderson.com Steve Sanderson]
| author = [http://blog.stevensanderson.com Steve Sanderson]
| developer =
| developer =
| latest_release_version = 3.4.2<ref name="latest stable"/>
| latest_release_version = <!-- Wikidata -->
| latest_release_date = 6 марта 2017
| latest_release_date = <!-- Wikidata -->
| latest_preview_version =
| latest_preview_version =
| latest_preview_date =
| latest_preview_date =
| genre = [[JavaScript]]-[[Библиотека (программирование)|библиотека]]
| genre = <!-- Wikidata -->
| size = 54&nbsp;KB minified / 206&nbsp;KB (development mode)
| website = <!-- Wikidata -->
| website = {{url|http://knockoutjs.com/}}
}}
}}
'''Knockout.js''' ({{lang-en|}}[[нокаут]]) — [[Свободное программное обеспечение|свободный]] [[JavaScript]] [[Content Management Framework|каркас веб-приложений]]. Основными принципами являются:
'''Knockout.js''' ({{lang-en|}}[[нокаут]]) — [[Свободное программное обеспечение|свободный]] [[JavaScript]] [[Content Management Framework|каркас веб-приложений]]. Основными принципами являются:

Версия от 11:42, 14 февраля 2019

Knockout.js
Тип библиотека JavaScript
Автор Steve Sanderson
Написана на JavaScript
Операционная система кроссплатформенность
Аппаратная платформа кроссплатформенность
Последняя версия
Репозиторий github.com/knockout/knoc…
Лицензия лицензия MIT
Сайт knockoutjs.com (англ.)

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

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

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

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

Особенности

  • Декларативное связывание
  • Автоматическое обновление интерфейса при изменении состояния данных модели
  • Отслеживание зависимостей
  • Прототипирование с использованием как собственных так и сторонних механизмов (например, 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());

См. также

Примечания

  1. Release 3.5.1 — 2019.
  2. npmjs
  3. Steven Sanderson's blog post 'Hello, Microsoft'. blog.stevensanderson.com (3 ноября 2010). Дата обращения: 22 октября 2014.
  4. Статистика использования Knockout.js на вебсайтах (англ.).
  5. Использование Knockout.js на вебсайтах (англ.).
Ошибка в сносках?: Тег <ref> с именем «latest stable», определённый в <references>, не используется в предшествующем тексте.

Литература

  • 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.

Ссылки