我正在学习葡萄牙语教程,教授如何构建您的第一个Ionic应用程序。
在使用最新版本安装npm,node.js,angular,Ionic和Cordova后,我开始编写代码。代码本身非常简单:
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;
});
}
}`
我基本上使用了Reddit的API JSON,可以使用&#34; url&#34;中的链接访问它。变量,它应该返回一个巨大的JSON,转换它并存储在&#34; feed&#34;中。问题是每当我提供这个离子应用程序时,我都会收到此错误:
我已经尝试解决这个问题,并发现如果我删除了构造函数中的所有内容,我仍然会收到错误但是如果我删除&#34; 公共http:Http &#34;这是错误消失的构造函数的参数。
寻找解决方案我看到有人建议将提供者添加到@Component,但教程没有说明这一点。
我已经尝试重新安装所有内容,但我仍然收到错误。
重新创建错误需要做什么:
ionic start MyReader blank --v2 --appname "Best
Reader Ever" --id "com.tableless.myreader"
此外,如果你想查看教程本身,链接是:https://tableless.com.br/criando-uma-aplicacao-movel-com-ionic-2-e-angular-2-em-dez-passos/
答案 0 :(得分:2)
解决方案:HTTP_PROVIDERS已从angular2中删除,并被替换为:HttpModule。
我所要做的就是添加:
import { HttpModule } from '@angular/http';
到src / app / app.module.ts然后:
imports: [
BrowserModule,
HttpModule,
IonicModule.forRoot(MyApp)
],
完成了。非常感谢大家。
答案 1 :(得分:1)
使用以下代码
import {HTTP_PROVIDERS} from '@angular/http';
provider : [ HTTP_PROVIDERS, ....
]
上述答案因angular4而被弃用。但正如我在评论中所说,
import { HttpModule } from '@angular/http';
imports: [ HttpModule ]