Я искал, как лучше всего отправлять сообщения между компонентами в дартс-угловых приложениях, и я был немного озадачен.Я обнаружил, что в старых версиях я использовал ScopeAware, как показано в этом вопросе: События компонента Angular Dart , но теперь он был заменен на Streams.
Мне кажется, что ScopeAware создала «глобальный» способ управления событиями между компонентами, не имеющими прямого отношения, верно?Используя потоки, как я могу создать этот контекст?
У меня есть этот код для работы с «глобальными» событиями:
class PostEvent {
final StreamController<ComponentEvent> _onEventStream = new StreamController.broadcast();
Stream<ComponentEvent> onEventStream = null;
static final PostEvent _singleton = new PostEvent._internal();
factory PostEvent() {
return _singleton;
}
PostEvent._internal() {
onEventStream = _onEventStream.stream;
}
onEvent(ComponentEvent event) {
_onEventStream.add(event);
}
}
В моем проекте у меня есть такая структура компонентов:
Home
-> Products
-> Product Item
-> Header
-> Cart Products Count
Когда один продукт добавляется или удаляется, необходимо уведомить «Количество продуктов в корзине».Мой код, в данном случае, хорошая идея?
Спасибо!