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 のものを使用するには、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);
于 2016-07-26T01:57:22.037 に答える