运行 ionic 2 页面完全加载时的功能

Run function when an ionic 2 page has fully loaded

有没有办法确定 ionic 2 页面何时完全加载?当所有页面 html 加载完毕后,我需要在页面中插入一些 html。理想情况下,我希望在我的@page class 中有一个在页面加载后运行的函数。

目前我正在将一个包含葡萄藤的 iframe 插入到 div 容器中。当 运行 应用程序在 iPhone 5 运行 iOS 9 上时,我遇到了一些奇怪的行为,即同一个藤蔓有时会根据容器大小而有时不会。我猜这可能是时间问题(vine iframe 的源是作为 http 请求的一部分接收的)。

您可以使用ionViewDidLoad方法:

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

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

2016 年 11 月 18 日的生命周期事件是:

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

由于 Ionic 2 正在积极开发中,因此情况一直在变化。如果您想查看当前的生命周期事件,请参考:https://ionicframework.com/docs/v2/api/navigation/NavController/#lifecycle-events

您可以使用最后加载的组件的生命周期回调ngAfterViewInit()(取决于您的路由)。