Knockout - это автономная реализация в JavaScript паттерна Модель – Представление – Модель представления с шаблонами. Таким образом, основные принципы таковы:
- четкое разделение между данными предметной области, компонентами представления и данными для отображения
- наличие четко определенного слоя специализированного кода для управления взаимосвязями между компонентами представления
Автор (ы) оригинала | Стив Сандерсон |
---|---|
Первый выпуск | 5 июля 2010 г. |
Стабильный выпуск | 3.5.1 / 5 ноября 2019 г . |
Репозиторий | Репозиторий Knockout |
Написано в | JavaScript |
Размер | 59 КБ минимизировано / 283 КБ (режим разработки) |
Тип | Библиотека JavaScript |
Лицензия | Массачусетский технологический институт |
Веб-сайт | knockoutjs |
Последний использует встроенные функции управления событиями языка JavaScript.
Эти функции оптимизируют и упрощают определение сложных отношений между компонентами представления, что, в свою очередь, делает дисплей более отзывчивым, а взаимодействие с пользователем - более богатым.
Knockout был разработан и поддерживается Стивом Сандерсоном как проект с открытым исходным кодом .
Функции
Knockout включает в себя следующие функции:
- Декларативные привязки
- Автоматическое обновление пользовательского интерфейса (при изменении состояния модели данных пользовательский интерфейс обновляется автоматически)
- Создание шаблонов отслеживания зависимостей (с использованием собственного механизма шаблонов, хотя могут использоваться и другие механизмы шаблонов, например jquery.tmpl )
Пример
В этом примере два текстовых поля привязаны к наблюдаемым переменным в модели данных. Отображение «полного имени» привязано к зависимой наблюдаемой, значение которой вычисляется в терминах наблюдаемых. При редактировании любого текстового поля автоматически обновляется отображение «полное имя» без явной обработки событий.
Просмотр модели (JavaScript)
функция ViewModel () { this . firstName = ko . наблюдаемый ( "" ); это . lastName = ko . наблюдаемый ( "" ); это . fullName = ko . вычислено ( функция () { вернуть это . firstName () + "" + this . lastName (); }, это ); }ко . applyBindings ( новая ViewModel ());
Рекомендации
- Папа, Джон (февраль 2012 г.). «Начало работы с нокаутом» . Журнал MSDN . Проверено 9 марта 2012 года .
- Папа, Джон (март 2012 г.). «Встроенные привязки Knockout для HTML и JavaScript» . Журнал MSDN . Проверено 9 марта 2012 года .
Внешние ссылки
- Официальный веб-сайт
- Knockout MVC: фреймворк, интегрирующий KnockoutJS в ASP.NET
- Knockout JS: помощь в создании динамических пользовательских интерфейсов JavaScript с помощью MVVM и ASP.NET
- Использование Isotope с Knockout.js
- Нокаутирующие вопросы на StackOverflow
- Форум Knockout в группах Google
- Примеры Knockout JS
- Фреймворк Knockout SPA
- Рецепты Knockout JS