【问题标题】:Http Service error in Angular2Angular2中的Http服务错误
【发布时间】:2017-03-22 09:32:30
【问题描述】:

我正在尝试使用 angular2 http 模块。

这是一个发出 GET 请求的 Angular 组件:

import {Component} from '@angular/core';
import {Http} from '@angular/http';

@Component({
  selector: 'fountain-app',
  providers: [Http],
  template: require('./main.jade')
})
export class MainComponent {

  public constructor(
    private $http: Http
    ) {
    //
  }

  public getImage(): void {
    this.$http.get('https://www.repstatic.it/content/nazionale/img/2015/11/26/121631321-63ff8328-4925-4ee2-9ff5-a81974b7074e.jpg')
    .map(res => res.json()).subscribe(image => this.image = image);
  }
}

这是主要的模块声明(注意 httpModule 导入):

import {NgModule} from '@angular/core';
import {BrowserModule} from '@angular/platform-browser';
import {UIView, UIRouterModule} from 'ui-router-ng2';
import {HttpModule} from '@angular/http';
import {MainComponent} from './main';
import {HeaderComponent} from './header';
import {TitleComponent} from './title';
import {FooterComponent} from './footer';

@NgModule({
  imports: [
    BrowserModule,
    UIRouterModule.forRoot({states: STATES, configClass: MyUIRouterConfig}),
    HttpModule
  ],
  declarations: [
    MainComponent,
    HeaderComponent,
    TitleComponent,
    FooterComponent
  ],
  bootstrap: [UIView]
})
export class AppModule {}

由于某种原因,当我开始通话时,我收到此错误: 例外:./MainComponent 类 MainComponent 中的错误 - 内联模板:0:93 原因:backend.createConnection 不是函数

我不知道为什么我会得到这个并且

附:我知道 Angular2 曾经使用 HTTP_PROVIDER,然后为了推送 HttpModule 而弃用它。

【问题讨论】:

    标签: angular module


    【解决方案1】:

    不要在 @Component 的 providers 数组中添加 Http

    @Component({
      selector: 'fountain-app',
      template: require('./main.jade')
    })
    

    Http已经被HttpModule提供了。

    事实上Http 有很多依赖,所以如果你想提供自己的Http 服务,你必须提供这些依赖。

    【讨论】:

    • 不客气,别忘了将我的答案标记为正确;)
    猜你喜欢
    • 2017-03-07
    • 2016-12-23
    • 2016-03-31
    • 1970-01-01
    • 2017-05-23
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    相关资源
    最近更新 更多