Как вызывать функцию каждый раз, когда отображается представление - PullRequest
0 голосов
/ 19 апреля 2019

Я работаю над приложением inappbrowser. И у него есть связь между веб-представлением и приложением.

Вот мой код:

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, это происходит, то есть веб-просмотр больше не отображается ..

Я попробовал какой-то метод, но ничего не получилось, как я хотел ..

Спасибо, ребята

1 Ответ

0 голосов
/ 19 апреля 2019

Попробуйте это:

ionViewWillEnter() {
  this.onLoad();
}

Это будет каждый раз, когда вы просматриваете эту страницу.

...