1

私は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)AccountServicethis.api.putメソッドが見つかりませんApiService。をインスタンス化して以来、理解できませApiServicethis.api

4

1 に答える 1