2017-04-14 16 views
0

私はここでこのチュートリアルに従っていましたhttps://tableless.com.br/criando-uma-aplicacao-movel-com-ionic-2-e-angular-2-em-dez-passos/しかし、物事は期待どおりに行かず、私は "No provider for ..."というエラーに悩まされました。 (チュートリアルではポルトガル語であるが、私はあなただけのコード例を見て、それを得ると思います。)角2:ConnectionBackendのプロバイダがありません!の解き方?

コードは次のようである:

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { Http } from '@angular/http'; 
import 'rxjs/add/operator/map'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage { 
    public feeds: Array<string>; 
    private url: string = "https://www.reddit.com/new.json"; 
    constructor(public navCtrl: NavController, public http: Http) { 
    this.http.get(this.url).map(res => res.json()) 
     .subscribe(data => { 
     this.feeds = data.data.children; 
     }); 
    } 
} 

まず、エラーが「HTTP」のためでした。 は、それから私は(私が思う)これで解決:

@Component({ 
    selector: 'page-home', 
    providers: [Http], 
    templateUrl: 'home.html' 
}) 

しかし、今の誤差はありません、と私は解決する方法がわからない「ConnectionBackend用ませプロバイダ!」。

+3

1.コンポーネントから直接 'Http'に直接アクセスするべきではありません。サービスから行うべきです。 2.コンポーネントに 'provider'を指定してはいけません。これはモジュールレベルで行います。この場合、 'HttpModule'のどこかに' imports'配列があるはずです。どちらもAngularチュートリアルで扱っています。https://angular.io/docs/ts/latest/tutorial/toh-pt1.html – jonrsharpe

+0

[Error:Ionicのコンストラクタパラメータでhttpのプロバイダがありません]の重複している可能性があります( http://stackoverflow.com/questions/43377588/error-no-provider-for-http-in-constructor-parameter-with-ionic) – Alex

+0

チュートリアルのリンクありがとう! –

答えて

1

app.moduleのインポートにHttpModuleを追加する必要があります。

@NgModule({ 
    imports: [ 
    HttpModule, <---- 
    BrowserModule, 
    HttpModule, 
    ], 
    declarations: [AppComponent], 
    providers: [], 
    bootstrap: [AppComponent], 
}) 
export class AppModule { 
} 
関連する問題