私はモデルを表すtypescriptクラスを持っており、インスタンスは角度のHttp
サービスを介してAPIと通信することを望みます。コンストラクタに引数がある場合の角度2の依存性注入
しかし、インスタンスを作成するときには、モデルのコンストラクタに引数が必要です。超簡単な例を何かのために:
class SomeModel{
constructor(public id:number, public name:string,){
}
私はそれが私のインスタンスに利用できるようHttp
サービスを注入したいと思いますが、それはこれを行うための標準的な方法のように思えるとコンストラクタをcommandeers:
constructor(http:Http)
私はInjector
のドキュメントを掘り下げてきましたが、それは少し疎で、うまく動作するものは見つかりませんでした。コンストラクタパターンを使用せずにDIシステムからHttp
のようなサービスへの参照を取得する方法はありますか?
たぶん、あなたは[テストのHttp](http://pastebin.com/UAJ3XeRf)のように、 'provide'を使用することができますが、それは(醜いです;私は/コンポーネントにフェッチきれいなモデルを維持したままだろうサービス... – Sasxa
ありがとう、私は@ Sasxaに感謝します。アプリケーションは、APIを介してグラフDBに保存されるノードの種類の束です。それぞれの種類のノードは若干異なる要件を持ち、抽象的なノードクラスのサブクラスとしてモデル化するとうまくいきます。節約するためには、サービス内にどのような種類のノードであるのか、それをどのように保存/取得するのか、それをどのように関係づけるのかを判断するのではなく、 'nodeInstance.save()'というだけでいいです。それは間違ったアプローチかもしれませんが、Httpリファレンスを入手するためのより良い方法を見つけることができれば、私には持続可能なようです。 –
私は、特に[http](https://angular.io/docs/ts/latest/api/http/Http-class.html)と[xhrbackend](https://angular.io /docs/ts/latest/api/http/XHRBackend-class.html)、多分[this](http://pastebin.com/bQcJALjA)はあなたのために働くでしょう... – Sasxa