我正在开发一个混合ng1 ng2应用程序。该应用程序基于ng1,然后使用升级适配器降级ng2组件。
我想在所有ng2组件之间共享一个ng2提供程序(用于获取和存储数据的服务)的单个实例,但这些组件不共享一个公共的ng2父组件,因此每个组件都是组件有一个新的提供者实例。
有没有一种方法可以让这些组件共享一个提供者实例,而不使用父ng2组件?
答案 0 :(得分:0)
修改:答案已过时,因为rc5发布后你应该使用NgModule。
只需使用addProvider
的{{1}}方法。
像这样:
UpgradeAdapter
将此import { UpgradeAdapter } from '@angular/upgrade';
import { YourService} from "./YourService";
const upgradeAdapter = new UpgradeAdapter();
upgradeAdapter.addProvider(YourService);
添加到根注入器后,您无需在其他组件或服务中指定它:
YourService