Компоненты нокаута и другие сосуществования viewModels - PullRequest
0 голосов
/ 13 марта 2020

Я узнал, что после регистрации нокаутирующего компонента нужно вызывать ko.applyBindings() без аргументов. Однако при определении другой viewModel без компонентов, назовем его vm, нужно вызвать ko.applyBindings(new vm()). Теперь, когда я пытаюсь использовать оба параллельно, я получаю сообщение об ошибке

You cannot apply bindings multiple times to the same element.

См. Также эту скрипку

Что я могу сделать, чтобы эта работа работала?

1 Ответ

0 голосов
/ 14 марта 2020

Я нашел ответ. Проблема заключалась в том, что вы не можете вызвать applyBindings без второго аргумента (он же означает элемент HTML, под которым связаны привязки), дважды. Что касается моего компонента, я бы с удовольствием предоставил второй аргумент, а именно сам компонент, но он не существует нигде в документации, все, что вы можете найти, это applyBindings() без каких-либо аргументов. Итак, методом проб и ошибок я обнаружил, что

ko.applyBindings(null, document.getElementById('id'))

с id, являющимся идентификатором компонента HTML, работает.

...