我有一個typecript類代表模型,我希望實例通過angular的Http
服務與API通信。當構造函數有參數時Angular 2中的依賴注入
但是模型的構造函數在創建實例時需要參數。例如一些超級簡單:
class SomeModel{
constructor(public id:number, public name:string,){
}
我想注入Http
服務,所以它是提供給我的例子,但它似乎是規範的方式做到這一點與commandeers構造:
constructor(http:Http)
我一直在挖掘Injector
文檔,但它有點稀疏,我還沒有找到任何有效的工具。有沒有辦法在不使用構造函數模式的情況下從DI系統獲得對像Http
這樣的服務的引用?
也許你可以使用'provide',就像當[測試HTTP](http://pastebin.com/UAJ3XeRf),但它是醜陋的(,我會保持乾淨的模型,並留下取到的組件/服務... – Sasxa
謝謝,我明白@Sasxa。應用程序是一堆不同類型的節點,通過API保存到圖形數據庫中。每種節點都有一個稍微不同的要求,並且它很適合將其作爲抽象節點類的子類進行建模。爲了節省,我只能說'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