29.12.2017

Записываемые Computed переменные — Knockout.js


Новички возможно захотят пропустить этот раздел — записываемые computed переменные являются достаточно продвинутой техникой и не нужны в большинстве ситуаций

Обычно, computed переменные содержат значение, которое вычисляется из других observable переменных и следовательно, является досупным только для чтения. Что может удивить, так это то, что существует возможность сделать эти computed переменные записываемыми. Вам нужно всего лишь предоставить собственную callback-функцию , которая делает что-то разумное с записываемыми значениями.

Вы можете использовать записываемые computed переменные таким же способом, как и обычные observable переменные, со своей собственной логикой, перехватывающей все чтения и записи. Как и observable переменные, вы можете вписывать значения во множество observable или computed свойств на объекте модели, используя цепочки вызовов. Например, myViewModel.fullName(‘Итан Маркотт’).age(50).

Записываемые computed переменные это мощный инструмент с широким спектром применения. (далее…)

Опубликовано: 29/12/2017
28.12.2017

Использование Computed переменных — Knockout.js

Что если есть observable-переменная для firstName (имя), и другая для lastName(фамилия), и вы хотите вывести полное имя? Это именно тот момент, когда на сцене появляются computed observable (вычисляемые observable-переменные). Это функции, которые зависят от одной или более других observable-переменных, и их значение будет автоматически обновляться когда любая из из переменных, от которых зависит computed-переменная изменилась. (далее…)

Опубликовано: 28/12/2017
28.12.2017

Работа с observableArray — Knockout.js

Если вам нужно отслеживать изменения объекта и отвечать на них, то нужно использовать observable-переменные. Если же нужно отслеживать и отвечать на изменения набора данных, используйте observableArray. Это полезно во множестве случаев, где вы отображаете или редактируете множество элементов и нужны повторяющиеся участки UI, которые бы появлялись или исчезали с добавлением или удалением элементов. (далее…)

Опубликовано: 28/12/2017
27.12.2017

Knockout.js — Русская документация

Русская документация по замечательной библиотеке для декларативного биндинга — Knockout.js (далее…)

Опубликовано: 27/12/2017
27.12.2017

Создание ViewModel и Observable-значений — Knockout.js

Knockout построен на основе трех основных возможностей:

  • Observable-переменные и отслеживание зависимостей
  • Декларативные биндинги
  • Шаблонизация

На этой странице, вы узнаете о первой из трех. Но перед этим, давайте изучим паттерн MVVM и концепцию view model. (далее…)

Опубликовано: 27/12/2017
27.12.2017

Загрузки — Knockout.js

Получите последнюю стабильную продакшен-версию сборки Knockout.js:

(далее…)

Опубликовано: 27/12/2017
27.12.2017

Введение — Knockout.js


Knockout (нокаут) это JavaScript библиотека, помогающая создавать богатые, отзывчивые в отображении и редактировании пользовательские интерфейсы на основе чистой модели данных.
Каждый раз, когда у вас есть элементы UI которые динамически обновляются (например, изменения в зависимости от действий пользователя, или при изменении внешних данных),
KO поможет реализовать все это в более простом виде с возможностью последующей доработки.

Главные возможности

  • Элегантное отслеживание зависимостей — автоматически обновляет соответствующие части вашего UI как только изменилось значение в модели данных.
  • Декларативные биндинги — простой и очевидный способ соединения частей вашего UI с данными модели. Вы можете с легкостью создать сложные динамические интерфейсы, используя произвольно вложенные контексты биндингов.
  • Тривиально расширяемый — реализация собственных поведений в виде новых декларативных биндингов, для простого повторого использования в пару строк кода.

(далее…)

Опубликовано: 27/12/2017
19.12.2017

React: Виртуальный DOM

Проблема

Управление DOM-элементами это сердце современных интерактивных веб-сайтов. К сожалению, оно так же и значительно медленнее, нежели большинство операций в JavaScript.
Причем эта медлительность усугубляется ещё и тем, что большинство JavaScript-фреймворков делают обновления в DOM намного чаще, чем им на самом деле требуется.

В качестве примера, скажем у нас есть список из десяти элементов. Вы отключаете первый элемент. Большинство JavaScript-фреймворков будут перестраивать весь список. А это в десять раз больше работы, чем требуется! Всего лишь один элемент изменился, но оставшиеся девять будут перестроены в таком же виде, как и были до этого.

Перестроить список — это не большая нагрузка для браузера, но современные веб-сайты могут использовать огромное количество DOM-объектов при манипуляциях. Неэффективное обновление превращается в серьезную проблему.

Для решения этой проблемы, люди из React продвигают и популяризируют нечто, называемое Виртуальный DOM (англ. virtual DOM). (далее…)

Опубликовано: 19/12/2017