web-dev-qa-db-fra.com

Angular 2 (Ionic 2) appeler une fonction dans une page quand une page est affichée

Chaque fois que ma page d'accueil dansangular 2(ionic 2)app est chargée, je souhaite appeler le service/la fonction. Comment y parvenir?

Pour la première fois lorsque l'application est chargée (la page d'accueil est chargée), je peux écrire ceci dansconstructor, mais lorsque l'utilisateur commence à utiliser l'application etPushnouvelles pages dansnav controlleretpopeux pour revenir àhome page, leconstructorne sera pas appelé à nouveau.

Je suis coincé ici.

Je voudrais savoir quel est le meilleur moyen de réaliser cette fonctionnalité? 

Je suis nouveau dansangular2etionic2framework(vous n'avez pas non plus d'expérience dansangular1etionic1), aidez-moi s'il vous plaît.

Merci beaucoup. 

mettre à jour

exemple de code de ce que j'ai essayé, mais n'a pas fonctionné.

import {Page, NavController, Platform, Storage, SqlStorage} from 'ionic-angular';

@Page({
  templateUrl: 'build/pages/page1/page1.html'
})
export class Page1 {
    static get parameters(){
        return [[NavController],[Platform]];
    }
    ngOnInit() {
        console.log("Showing the first page!");
    }
    constructor(nav, platform){
        this.nav = nav;
        this.platform =  platform;
    }
}
7
Dipak

onPageWillEnter() a travaillé pour moi.

import {Page, NavController, Platform, Storage, SqlStorage} from 'ionic-angular';


@Page({
  templateUrl: 'build/pages/page1/page1.html'
})
export class Page1 {
    static get parameters(){
        return [[NavController],[Platform]];
    }
    onPageWillEnter() {
        console.log("Showing the first page!");
    }
    constructor(nav, platform){
        this.nav = nav;
        this.platform =  platform;
    }
}

Crochet de cycle de vie ionique

8
Dipak

IONIC 2 RC1 Mise à jour

ionViewWillEnter() {
    console.log("this function will be called every time you enter the view");
}
6
Roman Lee

Vous pouvez utiliser les lifeCycle-hooks , en particulier ngOnInit() ou ngAfterViewInit().

Ici est un tutoriel simple.

Par exemple:

// Annotation section
@Component({
  selector: 'street-map',
  template: '<map-window></map-window><map-controls></map-controls>',
})
// Component controller
class StreetMap {
  ngOnInit() {  //here you can call the function wanted
    // Properties are resolved and things like
    // this.mapWindow and this.mapControls
    // had a chance to resolve from the
    // two child components <map-window> and <map-controls>
  }
}

Update: cela fonctionne pour les applications pures Angular2, pour la solution spécifique à IonicFramework, voir 

_ {@ DeepakChandranP's} réponse. 

1
Ankit Singh