微信小程序Page對象重寫


關於重寫微信小程序Page對象如下:

let orgainPage = Page; // 保存原本的Page對象
let basePage = function (data) {
  // 生成初始data,如果頁面已經有該值不在重新賦值
  if (typeof data.data.dataVal === 'undefined') {
    data.data.dataVal = '具體值';
  }
  // 重寫onLoad默認執行一些初始事件
  let orgainOnLoad = data.onLoad;
  data.onLoad = function (o) {
    // 執行的初始事件 start

    // 執行的初始事件 end
    orgainOnLoad.call(this, o);
  }
  // 默認初始方法,如果頁面已經有該方法不在重寫該方法
  if (typeof data.orgainFun !== 'function') {
    data.orgainFun = function () {
      // 執行具體函數 start

      // 執行具體函數 end
    }
  }
  return orgainPage(data);
};

 

重寫后的Page可以直接掛到App里面

App({
  onLaunch() { },
   // 直接掛到這邊,新頁面直接調用app.Base替換Page
  Base: basePage,
  globalData: {}
})

不直接重寫Page是因為使用app.json插件時,不允許修改全局變量“Page”。

 

每個Page頁面調用

const app = getApp();
app.Base({
  data: {
  }
})

頁面必須有data,不然.call會報錯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM