gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 03:17:35 24 4
gpt4 key购买 nike

我正在寻找在 dart-angular 应用程序中的组件之间发送消息的最佳方式,我有点困惑。我发现在旧版本中,我会使用ScopeAware,如这个问题所示:Angular Dart component events ,但现在已替换为 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

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

谢谢!

最佳答案

使用流是个好主意。
现在让这个类成为一个服务,在根注入(inject)器中提供它,并将它注入(inject)到你想要获得更新通知并在那里订阅的地方。

您需要多播流的订阅者不止一个。

关于angular - 在组件 Angular Dart 之间进行通信的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53330754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com