Следующая документация описывает, как строить и работать с computed-переменными. (далее…)
Следующая документация описывает, как строить и работать с computed-переменными. (далее…)
Pure computed (чисто вычисляемые) переменные, введенные в Knockout 3.2.0, предоставляют более оптимизированный с точки зрения производительности и использования памяти вариант computed-переменных для большинства приложений в сравнении с обычными computed-переменными. А все потому, что pure computed переменные не поддерживают подписки на их зависимости, когда на них самих нет подписок. Это предоставляет:
Новичкам не обязательно это знать, но более продвинутые разработчики захотят узнать, почему мы продолжаем делать все эти утверждения о том, что KO автоматически отслеживает зависимости и обновляет правильные участки UI…
На самом деле, все довольно просто и красиво. Алгоритм отслеживания работает наподобие такого:
Новички возможно захотят пропустить этот раздел — записываемые computed переменные являются достаточно продвинутой техникой и не нужны в большинстве ситуаций
Обычно, computed переменные содержат значение, которое вычисляется из других observable переменных и следовательно, является досупным только для чтения. Что может удивить, так это то, что существует возможность сделать эти computed переменные записываемыми. Вам нужно всего лишь предоставить собственную callback-функцию , которая делает что-то разумное с записываемыми значениями.
Вы можете использовать записываемые computed переменные таким же способом, как и обычные observable переменные, со своей собственной логикой, перехватывающей все чтения и записи. Как и observable переменные, вы можете вписывать значения во множество observable или computed свойств на объекте модели, используя цепочки вызовов. Например, myViewModel.fullName(‘Итан Маркотт’).age(50).
Записываемые computed переменные это мощный инструмент с широким спектром применения. (далее…)
Что если есть observable-переменная для firstName (имя), и другая для lastName(фамилия), и вы хотите вывести полное имя? Это именно тот момент, когда на сцене появляются computed observable (вычисляемые observable-переменные). Это функции, которые зависят от одной или более других observable-переменных, и их значение будет автоматически обновляться когда любая из из переменных, от которых зависит computed-переменная изменилась. (далее…)
Если вам нужно отслеживать изменения объекта и отвечать на них, то нужно использовать observable-переменные. Если же нужно отслеживать и отвечать на изменения набора данных, используйте observableArray. Это полезно во множестве случаев, где вы отображаете или редактируете множество элементов и нужны повторяющиеся участки UI, которые бы появлялись или исчезали с добавлением или удалением элементов. (далее…)
Русская документация по замечательной библиотеке для декларативного биндинга — Knockout.js (далее…)
Knockout построен на основе трех основных возможностей:
На этой странице, вы узнаете о первой из трех. Но перед этим, давайте изучим паттерн MVVM и концепцию view model. (далее…)
Knockout (нокаут) это JavaScript библиотека, помогающая создавать богатые, отзывчивые в отображении и редактировании пользовательские интерфейсы на основе чистой модели данных.
Каждый раз, когда у вас есть элементы UI которые динамически обновляются (например, изменения в зависимости от действий пользователя, или при изменении внешних данных),
KO поможет реализовать все это в более простом виде с возможностью последующей доработки.