私はAPIクラスを持っています:
export class ApiService {
constructor(public http: Http) { }
put(controller: string, method: string, data: Object) {
return this.http.put("http://127.0.0.1:8000",
JSON.stringify(data), {
})
.map(res => res.json())
.catch(err => {
return Observable.throw(err.json());
});
}
}
および AccountService クラス:
export class AccountService {
api: ApiService;
constructor() {
this.api = new ApiService();
}
login(username: string, password: string) {
return this.api.put("accounts", "login", { username: username, password: password});
}
}
ただし、この例を実行すると、2 つの問題があります。
1)ApiService
コンストラクターで http が必要です。したがって、私が望むものではないものをthis.api = new ApiService();
提供する必要があります。Http
コンストラクターApiService
に提供する必要がないように変更するにはどうすればよいですか?Http
2)AccountService
にthis.api.put
メソッドが見つかりませんApiService
。をインスタンス化して以来、理解できませApiService
んthis.api