2017-03-22 14 views
2

私はangular2 httpモジュールでいくつか試しています。ここでHttpサービスエラー(Angular2)

は、GETリクエスト作る角度成分である:私は起動時に何らかの理由で

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 {} 

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を輸入に注意してください)ですこのエラーが発生しました: 例外:./MainComponentクラスのエラーMainComponent - インラインテンプレート:0:93原因:backend.createConnectionは関数ではありません

なぜ私はこれを得ているのか分かりません。

P.S.私はAngular2がHTTP_PROVIDERを使用するのに使用されていたことを知って、HttpModuleをプッシュするためにそれを非難しました。

答えて

4

@Componentであなたのプロバイダの配列にHttpを追加しないでください:

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

Httpは、それはすでにHttpModuleによって提供されます。独自のHTTPサービスを提供したい場合は、それらの依存関係を提供しなければならないので、実際Http

は多くの依存関係を持っています。

+0

あなたは正しいと私の答えをマークすることを忘れないでくださいあなたは歓迎されている – Nemus

+1

ありがとう、私を救いました;) –