如何在应用内浏览器视图后返回应用



我已经在我的应用程序上实现了应用内浏览器原生功能。该功能工作正常。现在我有一个问题。当用户在进入网页后单击设备的后退按钮时,它不会在应用程序上显示任何动态数据。我已经在constructor()内实现了数据获取部分。你能告诉我如何解决这个问题吗?该应用程序在其他用例上运行良好。这只发生在我去浏览器的时候。

这是关于该问题的视频

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(); }
    );
  }

OP 的反馈:

这实际上不是代码的问题。这是"Ionic View"应用程序的问题。我已经在我的安卓设备上安装了.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并从中使用。

希望对:)有所帮助

相关内容

  • 没有找到相关文章

最新更新