2017-03-28 7 views
1

私のアプリでIn App Browser固有の機能を実装しました。その機能はうまくいきました。今問題があります。ユーザーがデバイスの戻るボタンをクリックするとウェブページに行くと、それはアプリケーションの動的データを表示しません。constructor()の内部にデータを取り込む部分を実装しました。この問題の解決方法を教えてください。このアプリは他のユースケースでもうまく機能しています。これはブラウザに行ったときだけです。App Browserビューの後にアプリに戻る方法

これはVideo about the issueです。

constructor(public storage: Storage) { 
    super(storage); 

    super.getToken().then((val) => {//get token 
     this.token = val; 
     this.getEventList(this.token); 
    }); 
    } 

    //get event list 
    getEventList(data): any { 

    this.eventData.getEventList(data).subscribe(
     result => { 
     this.eventList = this.getManagedEventList(result.eventinfo); 
     }, 
     err => { loading.dismiss(); }, 
    () => { loading.dismiss(); } 
    ); 
    } 

答えて

2

OPのフィードバック:

これは実際にcode.Thisの問題ではありません「イオンビュー」app.Iの問題は私のAndroidデバイスと問題なく上.apkをインストールしてあります。それは正常に動作している。私はシミュレートされた環境と実際のデバイスの間には大きな違いがあると思う。

オリジナル回答:

あなたは何の問題もなく、ページライフサイクルイベントを使用することができますデフォルトで

import { Platform } from 'ionic-angular'; 

constructor(public storage: Storage, public plat: Platform) { 
    super(storage); 

    super.getToken().then((val) => {//get token 
    this.token = val; 
    this.getEventList(this.token); 
    }); 

    //WHEN YOU USE INAPPBROWSER THE APP IS PAUSED, SO WHEN YOU GO BACK TO IT, IT FIRES A RESUME EVENT 
    plat.resume.subscribe(() => { 
    //CODE TO GET YOUR LIST 
    }) 
} 

// WITH THIS LIFECYCLE EVENT EVERY TIME THE PAGE IS ENTERED (GOING BACK OR FORTH) THE FUNCTION IS FIRED 
ionViewWillEnter(){ 
    //GET THE EVENT LIST 
} 

//get event list 
getEventList(data): any { 

    this.eventData.getEventList(data).subscribe(
    result => { 
    this.eventList = this.getManagedEventList(result.eventinfo); 
    }, 
    err => { loading.dismiss(); }, 
    () => { loading.dismiss(); } 
); 
} 

ページのライフサイクルや本(あるいはその両方)のためのプラットフォームの履歴書を使用してみてください、それ何かエラーが発生した場合は、NavControllerをインポートしてから使用してください。

希望すると助かります:)

関連する問題