每次显示视图时如何调用函数

时间:2019-04-19 08:22:14

标签: angular ionic-framework angular5

我正在开发一个不显示应用程序的应用程序。而且它在Web视图和应用程序之间进行通信。

这是我的代码:

import { Component } from '@angular/core';
import { NavController, Platform } from 'ionic-angular';
import { InAppBrowser } from '@ionic-native/in-app-browser';
import { QrcodePage } from '../qrcode/qrcode';
@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
  //template: '<p>Chargement..</p>'
})
export class HomePage {
  ngOnChanges(): void {
    this.onLoad();
  }

  constructor(public navCtrl: NavController, public inAppBrowser: InAppBrowser, public platform: Platform) {
    this.onLoad();
    alert('homepage');
  }

  onLoad(){
    var url = "https://www.myurl.fr/accounts/login?source=mobapp";
    var browser = this.inAppBrowser.create(url,'_blank',{zoom:'no',location:'no',hardwareback:'no'});

      browser.on('loadstart').subscribe((e) => {
        var scriptUrlParam = "window.addEventListener(\"click\",function(e){var href=e.target.getAttribute(\"href\");if(href){location.href=href+\"?source=mobapp\";e.preventDefault();alert(location.href)}});";
        var url = e.url;

        browser.executeScript({code: scriptUrlParam});

        alert(e.url);

        if(url.indexOf("scanner") !== -1){
          this.navCtrl.push(QrcodePage);
          browser.hide();
        }

      });

      browser.show();
  }
}

我希望每次访问或返回视图时都调用函数 onLoad()。因为当我在android上使用后退按钮时,它发生了,所以不再显示webview。.

我尝试了一些方法,但没有任何工作如我所愿。

谢谢大家

1 个答案:

答案 0 :(得分:0)

尝试这个:

ionViewWillEnter() {
  this.onLoad();
}

这是您每次查看此页面的时间。