Knockout.js эквивалент событий AngularJS

0

В AngularJS, когда у вас есть вложенные области (например, две вложенные директивы), вы можете легко обмениваться данными между ними с помощью scope.$broadcast() и scope.$emit(). Есть ли простой способ общения между вложенными компонентами (пользовательскими элементами) в Knockout.js?

Теги:
knockout.js

1 ответ

2
Лучший ответ

Неа. Ничего подобного в KnockoutJS.

Если вам это нужно, чтобы сделать какое-то событие /pub-sub, вам нужно будет включить такую библиотеку для вашей конкретной цели, например, нокаут-почтовый ящик или другую систему событий (я думаю, вы могли бы имитировать одного или сделать бедного человека версия с ванильными js и нокаутом тоже).

Если вы считаете, что вам это нужно, потому что ваше представление не обновляется при изменении ваших моделей взглядов, то вы, вероятно, должны заменить обычных членов Javascript ваших моделей взглядов на реальные наблюдаемые. В отличие от Angular (который использует циклы дайджеста), KnockoutJS имеет отслеживание зависимостей, которое будет уведомлять каждую часть вашего "объема", которая зависит от конкретной другой части.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню