2016-11-18 11 views
0

私は2つのサービスを持っています - 1 /ファイルと2/FTPClientはangular2にあります。Angular2別のサービスからサービスを呼び出す

彼らはシングルトンサービスである - そして、このようなコンストラクタを通じてコン​​ポーネントに注入したときに完璧に動作:

constructor(public filesIn:Files, public ftpIn:FTPClient){} 

だから今はFTPClient自体の中にファイルサーバーを使用したいと思います...ので、私はしてみてください同じこと。これはFTPClientサービスのコンストラクタのための私のコードです:

constructor(public filesIn:Files) { 
     this.files = filesIn; 
    } 

しかし、これはエラーをスローします:

Can't resolve all parameters for FTPClient (?) 

私のアプリケーションは、モジュールを1つだけ持っています - ファイルやFTPClient両方がプロバイダーリストであります:

providers: [APIData,FTPClient,Files,SSHClient, WINDOW_PROVIDER] 

私がここで間違っていることについていくつか光を当ててください。

+1

あなたは 'FTPClientの上に' @Injectable() 'デコレータを持っていますか'クラス? –

+0

いいえ - 私はそれを追加すると(私は試しました!)それはエラーをスローしますTS2304:名前 '注射可能'を見つけることができません。 – RenegadeAndy

+0

あなたのサービスに「注入可能」をインポートしてください。 – Pragun

答えて

0

私は始まったばかりの私のクラスの上@Injectable()デコレータを追加する必要がありました - ラインを含むことにより、ファイルにしてインポート注射:

import { Injectable } from '@angular/core'; 
関連する問題