這篇文章主要介紹了微信小程序Page構造函數以及生命周期函數的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
一、將公共方法綁定到Page上
單個綁定
const oldPage = Page
Page = function(app) {
// 注意公共函數的名字不要重復,否則覆蓋
app.util = function() {}
return oldPage(app)
}多個綁定,文件綁定
const util = require('./util.js'); // 需要綁定的函數由util文件exports出來
const oldPage = Page
Page = function(app) {
let newPage = Object.assign({}, util, app)
return oldPage(newPage)
}二、擴展,修改生命周期函數
const oldPage = Page
Page = function(app) {
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') {
app.onLoad.call(this, options);
}
}
return oldPage(app)
}ps.想更系統的了解js關于this的知識可以戳這里
三、使用
我自己寫的時候,將自定義的內容單獨封裝到一個js文件中,然后在app.js中引用這個文件即可
require('./init.js'); //引用即可
App({
onLaunch: function (options) {
}
})感謝你能夠認真閱讀完這篇文章,希望小編分享的“微信小程序Page構造函數以及生命周期函數的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。