仅当浏览器是IE时,我才想将提供程序推送到我的提供程序列表中。
我尝试过
const IE = detectIE();
providers: [abcService,
xyzService,
(IE) ? [{provide: EVENT_MANAGER_PLUGINS,
useClass: IeInputEventManagerService,
deps: [DOCUMENT],
multi: true
}] : [],
上面的代码引发AOT错误,指示装饰器中不允许使用符号。我也尝试过下面的方式
const IE = detectIE();
const tempProviders: Array<any> = [
abcService,
xyzService];
if(IE) {
tempProviders.push({provide: EVENT_MANAGER_PLUGINS,
useClass: IeInputEventManagerService,
deps: [DOCUMENT],
multi: true
});
}
@NgModule -> continues here
在上述情况下,提供程序永远不会被推送或永远不会处于活动状态。我该如何解决这个问题?