Angular2 - Fehler "Kann nicht alle Parameter auflösen" beim Einfügen von http in einen benutzerdefinierten Dienst

Ich habe ein @ geba ErrorHandlerLogger Dies ist ein Dienst, der ErrorHandler erweitert und Fehlermeldungen in einem Remote-Repository protokolliert.

ErrorHandlerLogger erfordert das Angular http client zur Verfügung gestellt von HttpModule.

In dem ErrorHandlerModule Ich importiere HttpModule und definiere ErrorHandlerLogger als Anbieter.

In dem AppModule Ich importiere ErrorHandlerModule.

Wenn ich die App starte, erhalte ich die folgende Fehlermeldung

Uncaught Error: Can't resolve all parameters for ErrorHandlerLogger: (?).

Hier mein Code

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 { }

Jede Hilfe wird sehr geschätzt

Antworten auf die Frage(2)

Ihre Antwort auf die Frage