生命周期函數(shù)拓展
const oldPage = Page
Page = function (app) {
const _onLoad = app.onLoad
app.onLoad = function (options) { // 這里必須使用function, 不可以使用箭頭函數(shù), 否則this指向錯誤
console.log("擴展onLoad");
// onLoad函數(shù)在是當前page實例上下文中執(zhí)行茸歧,所以當前的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软瞎,就可以在生命周期鉤子里面做相關(guān)的事情逢唤。