2017-07-27 7 views
0

Ionic 3プロジェクトで作業中で、Ionic NativeのHTTP(https://ionicframework.com/docs/native/http/)を使用しようとしています。私は、HTTPを使用する別個のプロバイダを作成することから始めましたが、プロバイダをインポートしたページはロード/ナビゲートされませんでした。私はこれを理解していないので、プロバイダを作成する代わりに、ページ自体に直接使用しようとしました。トラブルシューティングの後、コンストラクタでHTTPが呼び出されるたびに問題が発生していることがわかりました。コンソールログでそれを実行すると、エラーはスローされません。Ionic 3 - コンストラクタで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) {} 

私の目標は、イオン3のHTTPプラグイン、またはイオン3のHTTPプラグインを使用するプロバイダを使用するすべてのページを使用して任意のページに移動できるようにすることです:

は、ここに私のコードです。

+1

コードを投稿し、目標が何であるかを記入してください。 – Rominus

+1

あなたは手動でイオン性のネイティブコンポーネントをインストールする必要があります。それらは組み込まれていません。また、ネイティブhttpの代わりに '@ angular/http ';'から 'import {Http}を試してみてください。 コルドバとイオンのネイティブプラグインをインストールします: – Quad

+0

手順に従っていることを確認してください $イオンコルドバのプラグインヴァ - プラグインのhttp $ NPMは、イオン性ネイティブ@ --save/HTTPをインストール その後にこのプラグインを追加プロバイダのセクションのあなたのアプリのモジュール – Mankeomorakort

答えて

0

プロジェクトのドキュメントとGitHubページに移動すると、プロジェクトが1年以内に更新されておらず、ページのガイドに基づいてAngular 1.xを中心に調整されているように見えます。したがって、これらのインポートステートメントはおそらく動作しません。

この部分をご覧ください:https://github.com/wymsee/cordova-HTTP#usageそれは角度1の構文です。 「角度JSではない」と言っている文書の部分は、あなたの問題に関連しているかもしれません。 'このプラグインは、コードバスウィンドウをグローバルに登録しています'

編集:Ionicページからドキュメントを見ましたが、角度2に特化していますが、GitHubで指し示すプロジェクトは古くなったドキュメントで放棄されたようだが、ionicはドキュメントを更新したが、古いプロジェクトを指している。とにかく、もし私があなただったら、図書館を少しでも守っています。

+0

ありがとう。あなたは正しいと私はそれにチェックを入れませんでした。将来的にはより勤勉になるでしょう。 –

0

なぜあなたはそのライブラリからhttpをインポートしていますか? '角度/ HTTP @' 使用

import { 
    HttpModule, 
    Http, 
    Headers, 
    RequestMethod, 
    RequestOptionsArgs, 
    Response, 
    ResponseContentType 
} from '@angular/http'; 

はまた、コンストラクタは、HTTP呼び出しを配置する場所ではありません。
AngularIonic life cycles ionViewDidLoad()に入力することをお勧めします。

+0

良いアイデア - イオンの代わりにAngularのhttpを試してみるかもしれません。誰か他の人もそれを勧めました。 また、HTTPを持っているページを読み込めないので、httpコールを行う機会がありませんでした。しかし、私はそれを動作させるためにionicViewDidLoad()に入れようとします。 –

関連する問題