Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度2交叉应用程序(根组件)通信_Javascript_Jquery_Angular - Fatal编程技术网

Javascript 角度2交叉应用程序(根组件)通信

Javascript 角度2交叉应用程序(根组件)通信,javascript,jquery,angular,Javascript,Jquery,Angular,我正在寻找一种在页面上的多个根组件之间进行交互的方法。背景是,我正在为CMS开发一系列模块,如果用户决定将它们添加到页面中,这些模块应该能够共享数据、使用事件或相互了解。由于CMS的性质,这些组件可以独立启动 在Angular 1中,可以使用JQuery获取控制器类的引用: $("#MyApplication").controller(); Angular 2是否以某种方式提供了类似的方式或更好的方式让它们彼此通信?您可以使用共享服务 class SharedService { ... }

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

在Angular 1中,可以使用JQuery获取控制器类的引用:

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

Angular 2是否以某种方式提供了类似的方式或更好的方式让它们彼此通信?

您可以使用共享服务

class SharedService {
  ...
}

var sharedService = new SharedService();

bootstrap(App1, [provide(SharedService, {useValue: sharedService})]);
bootstrap(App2, [provide(SharedService, {useValue: sharedService})]);
在要与其他Angular应用程序通信的组件中,只需注入服务

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

你能提供普朗克的例子吗@Gunter你创造一个plunker怎么样?如果你遇到问题,我会看一看并尝试修复它?