Kerimhanov [email protected]
Оглавление:
• KnockoutJs?• MVVP шаблон• Почему knockoutJs?• Основные особенности knockoutJs
KnockoutJs
KnockoutJs – это JavaScript Framework, который позволяет создавать отзывчивые и динамические UI.Разработчиком этого фреймворка является он
MVVM шаблон
ViewView Model
Bindigngs
Commands
Events
Ключевые концепции
Декларативная привязка
Автоматическое обновление
Отслеживание зависимостей
Шаблонизация
Следует иметь ввиду, что:• Открытый фреймворк (MIT license)• Написан на чистом JavaScript• Легковесный (46кб сжатая версия и до 16кб при использовании HTTP compression)• Не имеет зависимостей• Поддерживает все основные браузеры и даже IE6+, Firefox 2+ (Desctop and Mobile)• Полностью документирован
Knockout vs jQuery jQuery/js Frameworks KnockoutJs
• Предоставляет обертку для работы с DOM
• Достаточно низкий уровень для работы с элементами и событиями на странице
• Обеспечивает высокоуровневый доступ для управления моделью данных и ее отображением на странице
P.s. И jQuery и KnockoutJs могут быть использованы в одном месте, что бы достичь максимальной эффективности
Let’s Bind
Observables
Явная подписка на изменениеПодписываемся:
Подписываемся и отписываемся:
Computed Observables
Bindings
• Visible• Html• Text• Style• Css• Attr
Допустимые типы:
Visible
Text
Html
Style
Css
Attr
Control flow statements• foreach• if• ifnot• with
Foreach
If
Ifnot
With
Form field bindigns• Click• Event• Submit• Enable• Disable• Value• HasFocus• Checked• Options• SelectedOption • UniqueName
Extenders
Template binding
• Native templating• String-based templating
Native templating
String-based templating
Knockout performancehttp://www.knockmeout.net/