首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在组件angular-dart之间进行通信的更好方法是什么?

在组件angular-dart之间进行通信的更好方法是什么?
EN

Stack Overflow用户
提问于 2018-11-16 10:53:42
回答 1查看 262关注 0票数 1

我在搜索在dart-angular应用程序中的组件之间发送消息的最佳方式,我有点困惑。我发现在老版本中,我会使用ScopeAware,如这个问题所示:Angular Dart component events,但现在它被替换为Streams。

在我看来,ScopeAware创建了一种“全局”的方式来管理不直接相关的组件之间的事件,对吧?使用streams,我如何创建此上下文?

我有这个代码,用来处理“全局”事件:

代码语言:javascript
复制
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);
  }  

}

在我的项目中,我有这样的组件结构:

代码语言:javascript
复制
Home
  -> Products
    -> Product Item 
  -> Header
    -> Cart Products Count

当添加或删除一个产品时,应通知“购物车产品计数”。在这种情况下,我的代码是个好主意吗?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-11-16 14:14:20

使用流是一个好主意。现在让这个类成为一个服务,在根注入器上提供它,并在您希望获得更新通知的地方注入它,并在那里订阅它。

有多个订户,你需要一个多播流。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53330754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档