Ionic 3 - 无法导航到在其构造函数中调用 HTTP 的任何页面
Ionic 3 - Cannot navigate to any page that calls HTTP in its constructor
我正在做一个 Ionic 3 项目,并且一直在尝试使用 Ionic Native 的 HTTP (https://ionicframework.com/docs/native/http/)。我首先创建了一个使用 HTTP 的单独提供程序,但是导入该提供程序的任何页面都不会加载/导航到。我不明白这一点,所以我尝试直接在页面本身上使用它,而不是创建提供程序。排除故障后,我意识到只要在构造函数中调用 HTTP 就会出现问题。当我使用控制台日志 运行 时没有抛出错误。
这是我的代码:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { LocationTracking } from '../../providers/location-tracking';
import firebase from'firebase';
import { HTTP } from '@ionic-native/http';
@IonicPage()
@Component({
selector: 'page-ad',
templateUrl: 'ad.html',
})
export class AdPage {
postId = 0;
imgURL: any;
testToBeSent: any;
childRef: any;
zipCode: any;
constructor(public navCtrl: NavController, public navParams: NavParams,public LocationTracking: LocationTracking, private http: HTTP) {}
我的目标是能够导航到任何使用 Ionic 3 的 HTTP 插件的页面,或者任何使用使用 Ionic 3 的 HTTP 插件的提供程序的页面。
浏览该项目的文档和 GitHub 页面,该项目似乎已经有一年没有更新了,并且是围绕 Angular 1.x 基于他们页面上的指南。所以那些导入语句可能不起作用。
查看文档的这一部分:https://github.com/wymsee/cordova-HTTP#usage。那是 angular 1 语法。文档中说 'not angular JS' 的部分可能与您的问题更相关。 'This plugin registers a cordovaHTTP global on window'
编辑:我查看了 Ionic 页面上的文档,它们更具体地针对 angular 2,但是它们指向 GitHub 的项目已经一年没有更新了看起来被过时的文档遗弃了,但 ionic 更新了他们的文档,但仍然指向旧项目。不管怎样,如果我是你,我还是会稍微审查一下图书馆。
为什么要从那个库中导入 http?
使用'@angular/http'
import {
HttpModule,
Http,
Headers,
RequestMethod,
RequestOptionsArgs,
Response,
ResponseContentType
} from '@angular/http';
构造函数也不是放置 HTTP 调用的地方。
看看两者 Angular and Ionic life cycles
我最好将它放在 ionViewDidLoad() 中。
我正在做一个 Ionic 3 项目,并且一直在尝试使用 Ionic Native 的 HTTP (https://ionicframework.com/docs/native/http/)。我首先创建了一个使用 HTTP 的单独提供程序,但是导入该提供程序的任何页面都不会加载/导航到。我不明白这一点,所以我尝试直接在页面本身上使用它,而不是创建提供程序。排除故障后,我意识到只要在构造函数中调用 HTTP 就会出现问题。当我使用控制台日志 运行 时没有抛出错误。
这是我的代码:
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { LocationTracking } from '../../providers/location-tracking';
import firebase from'firebase';
import { HTTP } from '@ionic-native/http';
@IonicPage()
@Component({
selector: 'page-ad',
templateUrl: 'ad.html',
})
export class AdPage {
postId = 0;
imgURL: any;
testToBeSent: any;
childRef: any;
zipCode: any;
constructor(public navCtrl: NavController, public navParams: NavParams,public LocationTracking: LocationTracking, private http: HTTP) {}
我的目标是能够导航到任何使用 Ionic 3 的 HTTP 插件的页面,或者任何使用使用 Ionic 3 的 HTTP 插件的提供程序的页面。
浏览该项目的文档和 GitHub 页面,该项目似乎已经有一年没有更新了,并且是围绕 Angular 1.x 基于他们页面上的指南。所以那些导入语句可能不起作用。
查看文档的这一部分:https://github.com/wymsee/cordova-HTTP#usage。那是 angular 1 语法。文档中说 'not angular JS' 的部分可能与您的问题更相关。 'This plugin registers a cordovaHTTP global on window'
编辑:我查看了 Ionic 页面上的文档,它们更具体地针对 angular 2,但是它们指向 GitHub 的项目已经一年没有更新了看起来被过时的文档遗弃了,但 ionic 更新了他们的文档,但仍然指向旧项目。不管怎样,如果我是你,我还是会稍微审查一下图书馆。
为什么要从那个库中导入 http? 使用'@angular/http'
import {
HttpModule,
Http,
Headers,
RequestMethod,
RequestOptionsArgs,
Response,
ResponseContentType
} from '@angular/http';
构造函数也不是放置 HTTP 调用的地方。
看看两者 Angular and Ionic life cycles
我最好将它放在 ionViewDidLoad() 中。