Используя нокаут, когда вы вызываете ko.applyBinding(viewModel, "divId")
, он рекурсивно связывается с дочерними элементами элемента, к которому вы привязались («divId»). Я хотел бы остановить эту оценку на дочернем узле. Есть ли способ сделать это?Как остановить привязки knockout.js на дочерних элементах
причина ...
Я хотел бы связать всю страницу с моделью навигации зрения, это будет обрабатывать основной макет и ... улыбка ... навигация. На разных страницах я хотел бы привязать определенные регионы к различным моделям просмотров, которые не являются свойствами модели навигационного представления. На данный момент, если я это сделаю, я получаю ошибки «невозможно разобрать привязку», поскольку модель навигационного представления не обладает требуемыми свойствами. Если бы я мог остановить привязку, идущую вниз по дому, я мог бы просто привязать эти предметы отдельно.
Отличный материал, именно то, что я хотел. Мой сценарий может быть не типичным, но он дает мне настоящий подход к загрузке на основе модулей, где каждый модуль не зависит от всех остальных, делает тестирование весело ... –
Это заставляет использовать дополнительный контейнер просто для остановки привязок; Было бы легко сделать, чтобы узлы, не содержащие контейнеров (комментарии), поддерживали пользовательские обработчики привязки, такие как вышеупомянутые stopBindings? Это было бы полезно в высокомодульных приложениях :) – AlexG
В 2.1 (в RC) нестандартные обработчики привязки контейнера будут доступны как: http://jsfiddle.net/rniemeyer/75yQD/. Таким образом, это не будет проблемой. В 2.0, 'ko.virtualElements.allowedBindings' не был открыт. –