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 etPush
nouvelles pages dansnav controller
etpop
eux pour revenir àhome page
, leconstructor
ne sera pas appelé à nouveau.
Je voudrais savoir quel est le meilleur moyen de réaliser cette fonctionnalité?
Je suis nouveau dansangular2
etionic2
framework
(vous n'avez pas non plus d'expérience dansangular1
etionic1
), aidez-moi s'il vous plaît.
Merci beaucoup.
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;
}
}
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;
}
}
IONIC 2 RC1 Mise à jour
ionViewWillEnter() {
console.log("this function will be called every time you enter the view");
}
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.