2016-07-26 132 views
2

是否有可能手動實例化Http服務而無需將其作爲構造函數參數進行放置?Angular 2 - 實例化(Http)服務手動

export class SimpleGridServer { 
    private http: Http; 
    constructor(public options: SimpleServerData) { 
     http = new Http(.../* Argument here */); 
    } 
} 

要實例化這個類。

var grid = new SimpleGridServer({/* options */}); 

我想實例化這個類,而不必爲我component那些進口SimpleGridServer上HTTP服務的依賴。 如果可能,這種情況有什麼缺點?

回答

3

如果這是可能的,這種情況有什麼缺點?

您需要在Angular DI工作流程中使用Angular的東西。

你可以得到一個處理直接角的噴油器:

import {ReflectiveInjector} from '@angular/core'; 
import {HTTP_PROVIDERS, Http, Headers} from "@angular/http"; 
const injector = ReflectiveInjector.resolveAndCreate([HTTP_PROVIDERS]); 
const http = injector.get(Http); 
+0

我想這是怎麼角2點的工作方式。 – janmvtrinidad

+1

您可以使用角度2 DI而無需構造函數檢查http://stackoverflow.com/a/37812906/1401751 –