DI不适用于Safari

时间:2016-08-21 13:16:38

标签: angular

我在Angular2中找到了一些fantastic links的DI解释,但我仍然无法在Safari上使用它。在下面的代码中,它适用于Firefox和Chrome,但我仍然在Safari中获得Can't resolve all parameters for ApiService: (Http, ?).。我错过了什么吗?

import { Injectable } from '@angular/core';
import { Http, Response, RequestOptions, URLSearchParams } from '@angular/http';
import { Observable } from 'rxjs/Rx';

import { EmitterService } from '../services/emitter.service';

@Injectable()
export class ApiService {
  constructor (
    private http: Http,
    private window: Window
  ) {}
}

据我所知,一切都在那里,是否存在我所遗漏的已知跨浏览器兼容性问题?或者也许是专门用于野生动物园的填充物?

  • 我已将@NgModules设置为包含HttpModule

import { HttpModule } from '@angular/http';

1 个答案:

答案 0 :(得分:1)

@GünterZöchbauer100%正确,因为问题是提供商的格式。它不是@NgModule中的provide(),现在是:

@NgModule({
  providers: [
    Title,
    { provide: 'Window',  useValue: window }
  ],
  bootstrap: [ AppComponent ]
})

Angular2 - How to inject window into an angular2 service

相关问题