Tôi đã tạo ErrorHandlerLogger là dịch vụ mở rộng ErrorHandler và ghi nhật ký thông báo lỗi vào một kho lưu trữ từ xa.Lỗi Angular2 - 'Không thể giải quyết tất cả các tham số' trong khi tiêm http vào dịch vụ tùy chỉnh
ErrorHandlerLogger đòi hỏi góc http khách hàng được cung cấp bởi các HttpModule.
Trong ErrorHandlerModule tôi nhập HttpModule và xác định ErrorHandlerLogger là nhà cung cấp.
Trong AppModule Tôi nhập ErrorHandlerModule.
Khi tôi khởi động ứng dụng Tôi nhận được thông báo lỗi sau
Uncaught Error: Can't resolve all parameters for ErrorHandlerLogger: (?).
Ở đây mã của tôi
ErrorHandlerModule
import { NgModule, ErrorHandler } from '@angular/core';
import { HttpModule } from '@angular/http';
import {ErrorHandlerLogger} from './error-handler-logger';
@NgModule({
declarations: [],
exports: [],
imports: [
HttpModule
],
providers: [
{provide: ErrorHandler, useClass: ErrorHandlerLogger}
]
})
export class ErrorHandlerModule {}
ErrorHandlerLogger
import { ErrorHandler } from '@angular/core';
import { Http, Headers, RequestOptions, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import './rxjs-operators';
export class ErrorHandlerLogger extends ErrorHandler {
constructor(private http: Http) {
super();
}
handleError(error) {
// my logic
}
}
AppModule
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import {ErrorHandlerModule} from './error-manager/error-handler.module';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
routing,
ErrorHandlerModule
],
providers: [appRoutingProviders],
bootstrap: [AppComponent]
})
export class AppModule { }
Bất kỳ sự giúp đỡ rất nhiều đánh giá cao
Cảm ơn. Đúng và siêu nhanh. – Picci
Theo hướng dẫn về phong cách Angular2, '@Injectable()' nên luôn luôn được thêm vào injectables bởi vì nó dễ dàng để quên khi các tham số được thêm vào sau (đó là khá phổ biến). –
Cảm ơn bạn đã tiết kiệm trong ngày :))) – casper123