是否可以在混合角度应用中使用单例Angular2服务?
即使我在upgradeAdapter.downgradeNg2Provider(Ng2Service )
顶部providers: [ Ng2Service ]
,我的服务NgModule
也会创建一个不同的实例:
Angular2服务:
import { Injectable } from '@angular/core';
@Injectable()
export class Ng2Service {
private value: any;
constructor() {
console.log('constructor Ng2Service!');
}
setValue(value: any): void {
this.value= value;
}
getValue(): any {
return this.value;
}
}
该服务被注入Angular1并且它可以工作,但'构造函数Ng2Service!' 被调用两次,并且当使用虚拟方法setValue
时Angular1然后从Angular2尝试getValue
,值为 null ,但是从Angular1调用getValue
会返回正确的值。