微信小程序封装Page基类

小程序的每个Page,在分享的时候都会绑定参数到path,其他用户打开的时候,都需要获取path的参数,这样在每个页面都要重写onShareAppMessage和onLoad里获取options参数,现在要实现的是写一个BasePage基类,直接在BasePage里监听onLoad和onShareAppMessage,而不需要修改业务Page页。

// app.js
const originPage = Page;
App({
  onLaunch() { },
  //封装Page基类,在这里执行基础操作,执行完成后执行具体的Page页
  BasePage: function(initObj){
    if(initObj.onLoad){
      //保存Page的onLoad事件,在自定义的代码片段后再调用
      let originOnLoad = initObj.onLoad;
      initObj.onLoad = function(options){
        //先执行公共的onLoad
        console.log("公共onLoad的option", options);
        
        //唤起Page页自己的onLoad
        originOnLoad.call(this,options);
      }

      //全局的分享方法
      initObj.onShareAppMessage = function(){
        return {
          title: '分享标题',
          path: '',   //根据currentPage拼接分享要传递参数
          imageUrl: '分享封面'
        }
      }
    }
    return originPage(initObj)
  },
})

然后在Page页

const app = getApp();//初始化app.js

app.BasePage({

    data:{
        //todo
    },
    onLoad:function(options){
        console.log("Page页自己的onLoad");   
    },
});

这样,所有的公共操作在BasePage里完成就行了,极大地节省了代码量。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值