我在搜索在dart-angular应用程序中的组件之间发送消息的最佳方式,我有点困惑。我发现在老版本中,我会使用ScopeAware,如这个问题所示:Angular Dart component events,但现在它被替换为Streams。
在我看来,ScopeAware创建了一种“全局”的方式来管理不直接相关的组件之间的事件,对吧?使用streams,我如何创建此上下文?
我有这个代码,用来处理“全局”事件:
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当添加或删除一个产品时,应通知“购物车产品计数”。在这种情况下,我的代码是个好主意吗?
谢谢!
发布于 2018-11-16 14:14:20
使用流是一个好主意。现在让这个类成为一个服务,在根注入器上提供它,并在您希望获得更新通知的地方注入它,并在那里订阅它。
有多个订户,你需要一个多播流。
https://stackoverflow.com/questions/53330754
复制相似问题