错误:没有Ionic

时间:2017-04-12 18:59:08

标签: angular ionic-framework ionic2

我正在学习葡萄牙语教程,教授如何构建您的第一个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;中。问题是每当我提供这个离子应用程序时,我都会收到此错误:

image of the error

我已经尝试解决这个问题,并发现如果我删除了构造函数中的所有内容,我仍然会收到错误但是如果我删除&#34; 公共http:Http &#34;这是错误消失的构造函数的参数。

寻找解决方案我看到有人建议将提供者添加到@Component,但教程没有说明这一点。

我已经尝试重新安装所有内容,但我仍然收到错误。

重新创建错误需要做什么:

  • 以最新版本安装npm;
  • 以最新的稳定版本安装node.js;
  • 使用npm;
  • 在最新版本安装angular
  • 使用npm;
  • 安装ionic(2.2.2)和cordova(6.5.0)最新版本
  • 使用以下内容创建应用:ionic start MyReader blank --v2 --appname "Best Reader Ever" --id "com.tableless.myreader"
  • 将MyReader / src / pages / home / home.ts内容更改为上述脚本。

此外,如果你想查看教程本身,链接是:https://tableless.com.br/criando-uma-aplicacao-movel-com-ionic-2-e-angular-2-em-dez-passos/

2 个答案:

答案 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 ]