2

是否可以手动实例化 Http Service 而无需将其作为构造函数参数?

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

实例化这个类。

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

我想实例化这个类而不依赖于我的component那个 import的 Http 服务SimpleGridServer。如果这是可能的,那么这种情况的缺点是什么?

4

1 回答 1

4

如果这是可能的,那么这种情况的缺点是什么?

你需要在一个 Angular DI 工作流中才能使用 Angular 的东西。

您可以直接获得 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);
于 2016-07-26T01:57:22.037 回答