自分で作成したサービス& angular2のHttpサービスを自分のカスタムHttpRestサービスに挿入しようとしています。サービスに複数のサービスを挿入する - angular2
@Inject(Http) public _http: Http
を使用して
はうまく働いたが、私は、私はエラー、次の取得別の自作のサービスを注入しようとすると:何らかの理由で ユーザIDを
EXCEPTION: Cannot resolve all parameters for 'HttpRest'(Http @Inject(Http), undefined @Inject(undefined)). Make sure that all the parameters are decorated with Inject or have valid type annotations and that 'HttpRest' is decorated with Injectable.
を輸入であっても、定義されていません成功した。 マイカスタムサービス:
@Injectable()
export class HttpRest{
groups;
constructor(
@Inject(Http) public _http: Http,
@Inject(UserIds) public _ids: UserIds
){}
...
}
注:に両方のHttp &ユーザIDを注入
@Injectable()
export class UserIds{
private _signature_id:string;
private _role_id:number;
get signature_id():string{
return this._signature_id;
}
set signature_id(id:string){
this._signature_id = id;
}
get role_id():number{
return this._role_id;
}
set role_id(id:number){
this._role_id = id;
}
}
カスタムHttpRestサービスイム!削除したとき
,
@Inject(UserIds) public _ids: UserIds
私はエラーを表示しません。
私は何が欠けていますか?
UPDATE 問題は、ユーザーIDを理解しようとイムいくつかの未知の理由のためにコンストラクタのparamsで定義されていないことを実際にあるので、この質問のタイトルは無関係になります。それは "インポートされたサービスはコンストラクタparamsで定義されていません"である必要があります。
この質問の下で私の答えにこの投稿をさらに詳しくお聞かせください。
更新日:
この問題について説明する質問にお答えください。 Using index.ts file to export class causes undefined in injected constructor
私は結果なしでそれをしました。 @Component({ セレクタ: "... " templateUrl:" ..."、 ディレクティブ:[ ROUTER_DIRECTIVES]、 プロバイダ:[ ROUTER_PROVIDERS、 HttpRest、 ユーザID、 は、(LocationStrategyを提供} – wagwanJahMan