Angular2 提供覆盖 Class
Angular2 Provide to Override Class
我创建了一个自定义的 Http 提供程序来在我们应用程序的一个地方处理 http 错误。在 RC4 中,我曾经 bootstrap 这样的应用程序来实现这一点:
bootstrap(AppComponent, [
APP_ROUTER_PROVIDERS,
HTTP_PROVIDERS,
provide(HttpErrorService, { useClass: HttpErrorService }),
provide(LocationStrategy, { useClass: HashLocationStrategy }),
provide(PLATFORM_DIRECTIVES, { useValue: [ROUTER_DIRECTIVES], multi: true }),
provide(Http, {
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, eService: HttpErrorService) => new CustomHttp(xhrBackend, requestOptions, eService),
deps: [XHRBackend, RequestOptions, HttpErrorService]
})
]);
既然我是 运行 发行版,我该如何做类似的事情?我可以在我的主要 app.module 中使用 provide 吗?
谢谢!
@NgModule({
bootstrap: [AppComponent],
directives: [AppComponent],
imports: [BrowserModule, HttpModule, routing],
providers: [
{provide: HttpErrorService, useClass: HttpErrorService },
{provide: LocationStrategy, useClass: HashLocationStrategy },
{provide: Http,
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, eService: HttpErrorService) => new CustomHttp(xhrBackend, requestOptions, eService),
deps: [XHRBackend, RequestOptions, HttpErrorService]
}]
])
export class AppModule {}
我创建了一个自定义的 Http 提供程序来在我们应用程序的一个地方处理 http 错误。在 RC4 中,我曾经 bootstrap 这样的应用程序来实现这一点:
bootstrap(AppComponent, [
APP_ROUTER_PROVIDERS,
HTTP_PROVIDERS,
provide(HttpErrorService, { useClass: HttpErrorService }),
provide(LocationStrategy, { useClass: HashLocationStrategy }),
provide(PLATFORM_DIRECTIVES, { useValue: [ROUTER_DIRECTIVES], multi: true }),
provide(Http, {
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, eService: HttpErrorService) => new CustomHttp(xhrBackend, requestOptions, eService),
deps: [XHRBackend, RequestOptions, HttpErrorService]
})
]);
既然我是 运行 发行版,我该如何做类似的事情?我可以在我的主要 app.module 中使用 provide 吗?
谢谢!
@NgModule({
bootstrap: [AppComponent],
directives: [AppComponent],
imports: [BrowserModule, HttpModule, routing],
providers: [
{provide: HttpErrorService, useClass: HttpErrorService },
{provide: LocationStrategy, useClass: HashLocationStrategy },
{provide: Http,
useFactory: (xhrBackend: XHRBackend, requestOptions: RequestOptions, eService: HttpErrorService) => new CustomHttp(xhrBackend, requestOptions, eService),
deps: [XHRBackend, RequestOptions, HttpErrorService]
}]
])
export class AppModule {}