19.01.2018

Контекст биндинга — Knockout.js

Контекст биндинга — это объект, содержащий данные от биндингов, на которые можно ссылаться. При применении биндингов, Knockout автоматически создает и управляет иерархией контекстов биндингов. Корневой уровень (англ. root level) иерархии указывает на параметр viewModel переданный в ko.applyBindings(viewModel). Затем, каждый раз при использовании биндингов для управления потоками данных, таких как with или foreach, которые создают дочерний контекст биндинга, указывающий на вложенные данные из модели представления. (далее…)

Опубликовано: 19/01/2018
15.01.2018

Биндинг «foreach» — Knockout.js

Назначение

Биндинг foreach дублирует участок разметки для каждого элемента в массиве, и связывает каждую копию этой разметки с соответствующим элементом массива. Это особенно удобно для визуализации списков или таблиц.

Если предположить, что ваш массив является observable массивом, то когда позже вы добавите, удалите или измените порядок элементов в массиве, биндинг эффективно обновит интерфейс приложения для соответствия новому виду массива — вставляя или удаляя дополнительные копии разметки, или меняя порядок у существующих DOM-элементов, без затрагивания каких-либо других DOM-элементов. Это намного быстрее, нежели повторно генерировать весь код для foreach после каждого изменения массива.

Конечно, вы можете произвольно внедрять любое число биндингов foreach вместе с другими биндингами для контроля потока данных (англ. control-flow), такими как if и with.

(далее…)

Опубликовано: 15/01/2018
10.01.2018

Биндинг «attr» — Knockout.js

Назначение

Биндинг attr предоставляет общий способ установки значений для любых атрибутов у связанного DOM-элемента. Это удобно, чтобы например подставить значение атрибута title элемента, src у тега img или href у ссылки на основе значений вашей модели представления, и автоматически обновлять их, когда свойства модели меняются. (далее…)

Опубликовано: 10/01/2018
10.01.2018

Биндинг «style» — Knockout.js

Назначение

Биндинг style добавляет или удаляет одно или более значений для стилей DOM-элемента. Это удобно, чтобы например подсветить какое-то значение красным цветом, если оно стало отрицательной величины, или установить ширину прогресс-бара для отображения изменений этого значения. (далее…)

Опубликовано: 10/01/2018
10.01.2018

Биндинг «css» — Knockout.js

Назначение

Биндинг css добавляет или удаляет один или более именованных CSS классов к связанному DOM-элементу. Например, это полезно, когда нужно подсветить красным цветом какое-то значение, которое стало отрицательным. (далее…)

Опубликовано: 10/01/2018
10.01.2018

Биндинг «html» — Knockout.js

Назначение

Биндинг html заставляет связанный DOM элемент отображать HTML значение вашего параметра.

Обычно, это полезно, когда значения в вашей модели представления являются строками с HTML разметкой, которые вы хотите визуализировать. (далее…)

Опубликовано: 10/01/2018
09.01.2018

Биндинг «text» — Knockout.js

Назначение

Биндинг text заставляет связанный DOM элемент отображать текстовое значение вашего параметра.

Обычно, его полезно использовать с элементами вроде <span> или <em> которые традиционно используются для отображения текст, но технически, можно использовать этот биндинг с любым элементом. (далее…)

Опубликовано: 09/01/2018
03.01.2018

Биндинг «visible» — Knockout.js

Назначение

Биндинг visible заставляет скрыть или показать связанный DOM элемент в соответствии с переданным в биндинг значением. (далее…)

Опубликовано: 03/01/2018
02.01.2018

Справка по Computed переменным — Knockout.js

Следующая документация описывает, как строить и работать с computed-переменными. (далее…)

Опубликовано: 02/01/2018
02.01.2018

Pure computed переменные — Knockout.js


Pure computed (чисто вычисляемые) переменные, введенные в Knockout 3.2.0, предоставляют более оптимизированный с точки зрения производительности и использования памяти вариант computed-переменных для большинства приложений в сравнении с обычными computed-переменными. А все потому, что pure computed переменные не поддерживают подписки на их зависимости, когда на них самих нет подписок. Это предоставляет:

  • Предотвращение утечки памяти от computed-переменных, на которые более нет ссылок в приложении, но чьи зависимости все ещё существуют.
  • Уменьшает расход ресурсов на вычисления не пересчитывая computed-переменные, чьи значения не наблюдались в других местах.

(далее…)

Опубликовано: 02/01/2018