Skip to content

Commit 1100552

Browse files
committed
fix(TranslateService): Use the injector to instantiate HTTP_PROVIDERS
Fixes #17 Fixes #13
1 parent 79e9476 commit 1100552

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/translate.service.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import {Injectable, EventEmitter} from 'angular2/core';
2-
import {Http, Response} from 'angular2/http';
1+
import {Injectable, EventEmitter, Injector} from 'angular2/core';
2+
import {Http, Response, HTTP_PROVIDERS} from 'angular2/http';
33
import {Observable} from 'rxjs/Observable'
44
import 'rxjs/add/observable/fromArray.js';
55
import 'rxjs/add/operator/share.js';
@@ -68,8 +68,13 @@ export class TranslateService {
6868
private defaultLang: string = 'en';
6969
private langs: Array<string>;
7070
private parser: Parser = new Parser();
71+
private http: Http;
7172

72-
constructor(private http: Http) {
73+
constructor() {
74+
// We make sure that HTTP_PROVIDERS has been created & instantiated
75+
// because sometimes it hasn't been provided in bootstrap
76+
var injector = Injector.resolveAndCreate([HTTP_PROVIDERS]);
77+
this.http = injector.get(Http);
7378
this.useStaticFilesLoader();
7479
}
7580

0 commit comments

Comments
 (0)