KNOCKOUTJS КАК РЕАЛИЗАЦИЯ MVVM

Post on 02-Jun-2015

353 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Knockout - это JavaScript библиотека, которая помогает в создании насыщенных UI и позволяет разделить модель от ее представления.

Transcript

Kerimhanov R.rkerimhanov@codemastersintl.com

Оглавление:

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

top related