2016-04-10 15 views
7

C'è un modo per determinare quando una pagina ionica è stata caricata completamente? Devo inserire del codice HTML nella pagina quando è stato caricato tutto il codice HTML della pagina. Idealmente mi piacerebbe avere una funzione nella mia classe @page che viene eseguita quando la pagina è stata caricata.Esegui la funzione quando è caricata completamente una pagina ionica 2

Al momento sto inserendo un iframe contenente una vite in un contenitore div. Sto sperimentando, quando eseguo l'app su un iPhone 5 con iOS 9, un comportamento particolare in cui la stessa vite talvolta si adatta al contenitore e talvolta non lo fa. Sto indovinando che questo potrebbe essere dovuto al tempo (la fonte per l'iframe della vite è ricevuta come parte di una richiesta http).

+0

Possibile duplicato di [Evento per caricare il contenuto della pagina (Ionic 2)?] (Http://stackoverflow.com/questions/34944856/event-to-loaded-page-content-ionic-2) – user276648

risposta

23

È possibile utilizzare il metodo ionViewDidLoad:

@Page({ 
    templateUrl: 'build/pages/somepage/somepage.html' 
}) 
export class SomePage { 
    constructor() { 
    // ... 
    } 

    ionViewDidLoad() { 
    // Put here the code you want to execute 
    } 
} 

Gli eventi del ciclo di vita come 18 Novembre 2016 sono:

  • ionViewDidLoad
  • ionViewWillEnter
  • ionViewDidEnter
  • ionViewWillLeave
  • ionViewDidLeave
  • ionViewWillUnload
  • ionViewCanEnter

Dal ionico 2 è in fase di sviluppo, le cose cambiano tutto il tempo. Se si desidera verificare gli eventi del ciclo di vita corrente, fare riferimento a: https://ionicframework.com/docs/v2/api/navigation/NavController/#lifecycle-events

+0

Grazie per quello. Ho provato su PageLoaded ma viene eseguito quando index.html non è stato caricato quando il file page.html è stato caricato e questo è ciò di cui ho bisogno. –

+0

Potresti incollare del codice? È strano – artberri

+3

Ionic2 è in versione beta. le funzioni cambiano. è ora chiamato "ionViewLoaded()" –

2

È possibile utilizzare la callback ciclo di vita ngAfterViewInit() del componente che è stato caricato per ultimo (dipende dal routing).

+0

Ci sono questo tipo di funzioni per i componenti? –

+0

@ArmenSanoyan mi dispiace, non capisco il tuo commento. –

+0

Se non mi sbaglio, la funzione ngAfterViewInit() viene chiamata dopo che la pagina è stata caricata ma non funziona nei componenti. Quindi la mia domanda è: ci sono funzioni come ngAfterViewInit() che funzionano anche in componenti? –

Problemi correlati