我一直在阅读angular 9文档,其中指出您可以使用provideIn:'platform'在两个angular应用程序之间共享单例服务,但我找不到一个好的例子,文档也不清楚如何做到这一点。
假设我有带service1的application1和带service2的application2,并且我想以某种方式从service1调用service2的方法。
我怎样才能打那个"电话"?我应该以某种方式要求或将应用程序2导入应用程序1吗?
如果你真的需要它运行并且不在乎它漂亮,你可以随时将它绑定到"window">
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'platform'
})
export class MySharedService {
private _value = 0;
constructor() {
if (!!(<any>window).sharedService) return (<any>window).sharedService;
(<any>window).sharedService = this;
}
}
通过这种方式,您可以确保您的服务将只被实例化一次,并且您的模块将能够共享它。