将提供程序添加到提供程序数组不起作用

时间:2018-08-07 15:16:15

标签: angular angular-providers

我想根据某种条件将提供者添加到我的提供者数组中。添加这种方式不起作用

const tempProviders: Array<any> = [
  abcService,
  xyzService];

if(IE) {
tempProviders.push({provide: EVENT_MANAGER_PLUGINS,
    useClass: IeInputEventManagerService,
    deps: [DOCUMENT],
    multi: true
});
}

@NgModule -> continues here

以上操作无效。将新提供程序推送到提供程序阵列的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

创建一个函数,并根据数组分配新对象。

const tempProviders: Array<any> = [
  abcService,
  xyzService,
  checkService(),
];


function checkService(){
 if(IE) {
  return {provide: EVENT_MANAGER_PLUGINS,
    useClass: IeInputEventManagerService,
    deps: [DOCUMENT],
    multi: true,
  };
 }
}