Knockout.js: различия между версиями
[отпатрулированная версия] | [отпатрулированная версия] |
дополнение |
дополнение |
||
Строка 22: | Строка 22: | ||
Автором библиотеки является сотрудник [[Microsoft]], однако, по его словам библиотека останется такой, какой она является, и будет развиваться в направлении, определяемом лишь им самим и сообществом пользователей. Также он подчёркивает, что библиотека не является продуктом Microsoft<ref name="Hello, Microsoft">{{cite web | url = http://blog.stevensanderson.com/2010/11/03/hello-microsoft/ | title = Steven Sanderson's blog post 'Hello, Microsoft' | date = November 3, 2010 | publisher = blog.stevensanderson.com | accessdate = 2014-10-22 }}</ref>. |
Автором библиотеки является сотрудник [[Microsoft]], однако, по его словам библиотека останется такой, какой она является, и будет развиваться в направлении, определяемом лишь им самим и сообществом пользователей. Также он подчёркивает, что библиотека не является продуктом Microsoft<ref name="Hello, Microsoft">{{cite web | url = http://blog.stevensanderson.com/2010/11/03/hello-microsoft/ | title = Steven Sanderson's blog post 'Hello, Microsoft' | date = November 3, 2010 | publisher = blog.stevensanderson.com | accessdate = 2014-10-22 }}</ref>. |
||
На начало 2015 года библиотека была ранее использована на 17018 вебсайтах, и |
На начало 2015 года библиотека была ранее использована на 17018 вебсайтах, и продолжает использоваться на 29039 сайтах, в том числе на 55 из 10 тысяч наиболее популярных<ref name="usage">{{cite web |
||
| url = http://trends.builtwith.com/javascript/KnockoutJS |
| url = http://trends.builtwith.com/javascript/KnockoutJS |
||
| title = Статистика использования Knockout.js на вебсайтах |
| title = Статистика использования Knockout.js на вебсайтах |
||
Строка 66: | Строка 66: | ||
== Примечания == |
== Примечания == |
||
{{примечания|refs= |
{{примечания|refs= |
||
<ref name="latest stable">https://github.com/knockout/knockout/releases/tag/v3.2.0</ref> |
<ref name="latest stable">[https://github.com/knockout/knockout/releases/tag/v3.2.0 Последний релиз]</ref> |
||
}} |
}} |
||
== Ссылки == |
== Ссылки == |
||
* {{official|knockoutjs.com}} |
* {{official|knockoutjs.com}} |
||
* [http://knockoutmvc.com/ Knockout MVC: A framework integrating KnockoutJS into ASP.NET]{{ref-en}} |
|||
* [http://channel9.msdn.com/Events/MIX/MIX11/FRM08 Knockout JS: Helping you build dynamic JavaScript UIs with MVVM and ASP.NET]{{ref-en}} |
|||
* [http://blog.davidpadbury.com/2011/03/20/using-isotope-with-knockout-js/ Using Isotope with Knockout.js]{{ref-en}} |
|||
* [http://stackoverflow.com/questions/tagged/knockoutjs Вопросы с тегом Knockout.js на StackOverflow]{{ref-en}} |
|||
* [http://groups.google.com/group/knockoutjs Обсуждение Knockout.js на Google Groups]{{ref-en}} |
|||
* [http://www.knockmeout.net/ Примеры Knockout.js]{{ref-en}} |
|||
== См. также == |
== См. также == |
||
* [[AngularJS]] |
* [[AngularJS]] |
||
* [[jQuery]] |
|||
{{значимость|2015-01-17}} |
|||
{{Фреймворки для веб-приложений}} |
{{Фреймворки для веб-приложений}} |
||
Версия от 10:39, 17 января 2015
Knockout.js | |
---|---|
Тип | JavaScript-библиотека |
Автор | Steve Sanderson |
Написана на | JavaScript |
Операционная система | Кроссплатформенное ПО |
Аппаратная платформа | кроссплатформенность |
Последняя версия | 3.2.0[1] (12 августа 2014) |
Репозиторий | github.com/knockout/knoc… |
Лицензия | MIT License |
Сайт | knockoutjs.com |
Knockout.js (англ. нокаут) — свободный JavaScript каркас веб-приложений, реализующий Model-View-ViewModel шаблон c образцами. Основными принципами являются:
- чёткое разделение доменных данных, компонентов отображения и отображаемых данных
- наличие чётко определлённого слоя специализированного кода, определяющего отношение компонентов отображения.
Автором библиотеки является сотрудник Microsoft, однако, по его словам библиотека останется такой, какой она является, и будет развиваться в направлении, определяемом лишь им самим и сообществом пользователей. Также он подчёркивает, что библиотека не является продуктом Microsoft[2].
На начало 2015 года библиотека была ранее использована на 17018 вебсайтах, и продолжает использоваться на 29039 сайтах, в том числе на 55 из 10 тысяч наиболее популярных[3], например, на сайте компании Philips[4].
Особенности
- Декларативное связывание
- Автоматическое обновление интерфейса при изменении состояния данных модели
- Отслеживание зависимостей
- Прототипирование с использование как собственных так и сторонних механизмов (например, 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());
Примечания
- ↑ Последний релиз
- ↑ Steven Sanderson's blog post 'Hello, Microsoft' . blog.stevensanderson.com (3 ноября 2010). Дата обращения: 22 октября 2014.
- ↑ Статистика использования Knockout.js на вебсайтах (англ.).
- ↑ Использование Knockout.js на вебсайтах (англ.).
Ссылки
- knockoutjs.com — официальный сайт Knockout.js
- Knockout MVC: A framework integrating KnockoutJS into ASP.NET (англ.)
- Knockout JS: Helping you build dynamic JavaScript UIs with MVVM and ASP.NET (англ.)
- Using Isotope with Knockout.js (англ.)
- Вопросы с тегом Knockout.js на StackOverflow (англ.)
- Обсуждение Knockout.js на Google Groups (англ.)
- Примеры Knockout.js (англ.)