2017-04-14 12 views
0

私はいくつかの困難をAngularの別のサービスに注入しようとしています。次のように私は、既存のコンストラクタで別のクラスを拡張してサービスを作成しようとしています:既存のコンストラクタに挿入

@Injectable() 
export class AuthHttpService extends AuthHttp { 
    constructor(options: AuthConfig, http: Http, defOpts?: RequestOptions) { 
     super(options, http, defOpts); 
    } 
} 

私の問題がある:私はそこに別のサービスを注入する必要があると私は、引数としてそれを置くように見えることはできませんオプションの引数の後ろに必要な引数を置くことはできません。オプションの場合は?を指定しても動作しません)。

私はinjector.getで試してみましたが、それは正常に動作しますが、他のコンポーネントとは異なるサービスインスタンスを注入し、私のアプリケーションを壊しています(情報を表示するためにいくつかのサービスプロパティに依存しています)。

ありがとう!

+0

追加するパラメータは何ですか?このパラメータのプロバイダはどこに登録しましたか?あなたが得るエラーメッセージは何ですか?オプションのパラメータの前に追加するのはどうですか? –

答えて

1

別のサービスを追加するには、の前に、追加のパラメータの前にコンストラクタを追加します。それから、大丈夫です。

@Injectable() 
export class AuthHttpService extends AuthHttp { 
    constructor(options: AuthConfig, http: Http, 
       otherservice: OtherService, 
       defOpts?: RequestOptions) { 
     super(options, http, defOpts); 
    } 
} 
関連する問題