微信小程序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页面调用

微信小程序Page对象重写
const app = getApp();app.Base({ data: { }})

页面必须有data,不然.call会报错

 

相关文章