没有Http的提供者!但模块已导入

时间:2016-10-02 20:17:13

标签: angular

我试图使用http模块。在环顾四周后,我发现修复此问题的唯一两个选项是导入模块(我已经完成)或使用不推荐使用的HTTP_PROVIDERS。

我已将其导入此处:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from "@angular/http";
import { AppComponent } from './app.component';

@NgModule({
  imports: [BrowserModule, HttpModule],
  declarations: [AppComponent],
  bootstrap: [AppComponent]
})
export class AppModule { }

这是我的boot.ts

import 'core-js';
import 'zone.js/dist/zone';

import {bootstrap} from '@angular/platform-browser-dynamic';
import {ROUTER_PROVIDERS} from '@angular/router';
import {AppComponent} from './app.component';

bootstrap(AppComponent, [
  ROUTER_PROVIDERS
]);

我试图在这里使用它:

import {Injectable} from '@angular/core';
import {Headers,Http} from '@angular/http';
@Injectable()
export class ApiService {
    constructor(private _http:Http){}

}

但出于某种原因,它给了我错误:EXCEPTION:错误:未捕获(在承诺中):EXCEPTION:错误:0:0 原始例外:没有Http的提供者!

我使用的版本是:

  "dependencies": {
    "@angular/common": "2.0.0-rc.1",
    "@angular/compiler": "2.0.0-rc.1",
    "@angular/core": "2.0.0-rc.1",
    "@angular/http": "^2.0.1",
    "@angular/platform-browser": "2.0.0-rc.1",
    "@angular/platform-browser-dynamic": "2.0.0-rc.1",
    "@angular/router": "2.0.0-rc.1",
    "es6-shim": "^0.35.0",
    "reflect-metadata": "0.1.3",
    "rxjs": "5.0.0-beta.6",
    "systemjs": "^0.19.27",
    "zone.js": "^0.6.12"
  },

任何线索为什么我在导入模块后仍然会收到此错误?

1 个答案:

答案 0 :(得分:0)

如果我没记错的话,在RC.5中引入了NgModule。但是您的依赖关系仍在使用RC.1。

当前版本的Angular2是2.0.1。

我建议如下: