gpt4 book ai didi

javascript - Angular 2 跨应用(根组件)通信

转载 作者:行者123 更新时间:2023-11-29 19:15:17 25 4
gpt4 key购买 nike

我正在寻找一种在页面上的多个根组件之间进行交互的方式。背景是我正在为 CMS 开发一堆模块,如果用户决定将它们添加到页面,这些模块应该能够共享数据、使用事件或者只是相互了解。由于 CMS 的性质,这些组件会独立引导。

在 Angular 1 中存在使用 JQuery 获取 Controller 类引用的可能性:

$("#MyApplication").controller();

Angular 2 是否以某种方式提供了类似甚至更好的方法让它们相互通信?

最佳答案

您可以使用共享服务。

class SharedService {
...
}

var sharedService = new SharedService();

bootstrap(App1, [provide(SharedService, {useValue: sharedService})]);
bootstrap(App2, [provide(SharedService, {useValue: sharedService})]);

在您想要与其他 Angular 应用程序通信的组件中,只需注入(inject)服务

constructor(private sharedService:SharedService) {
sharedService.someObservable.subscribe(...);
sharedService.someObservable.emit(...);
}

关于javascript - Angular 2 跨应用(根组件)通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35846233/

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