Angular 2 - 手动实例化(Http)服务

时间:2016-07-26 01:55:13

标签: typescript angular angular2-http

是否可以手动实例化Http Service而不必将其作为构造函数参数放置?

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

要实例化此类。

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

我希望实例化此类,而不依赖于导入component的{​​{1}}的Http服务。 如果可以,这种情况的缺点是什么?

1 个答案:

答案 0 :(得分:4)

  

如果可以,这种情况有什么缺点?

您需要在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);