小程序生命周期拓展

生命周期函数拓展

const oldPage = Page
Page = function (app) {
  const _onLoad = app.onLoad
  app.onLoad = function (options) { // 这里必须使用function, 不可以使用箭头函数, 否则this指向错误
    console.log("扩展onLoad");
    // onLoad函数在是当前page实例上下文中执行,所以当前的this为当前page实例
    // 如果不使用call来硬绑定,而是直接app.onLoad(),那么onLoad里的this将为app这个对象
    // 即我们正常在page.js里Page(app) 括号里面我们自己写的page对象
    if (typeof app.onLoad === 'function') {
      _onLoad.call(this, options);
    }
  }

  return oldPage(app)
}

使用
在app.js页面引用

require('./utils/life.js')

之后控制台就可以看到log,就可以在生命周期钩子里面做相关的事情。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容