关闭

扩展微信小程序 Page 构造函数,修改生命周期函数

时间: 2018-09-04阅读: 3431标签: 小程序

一. 将公共方法绑定到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) {
  }
})


来源:https://segmentfault.com/a/1190000016251970

站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/1050

关闭

小程序保存图片到本地

保存图片到本地相册,需要用户允许相册权限;但是有时客户手滑或者是特别原因点击了拒绝授权,我们需要打开权限列表,让客户手动打开此项权限;

在小程序中实现 Mixins 方案

在原生开发小程序的过程中,发现有多个页面都使用了几乎完全一样的逻辑。由于小程序官方并没有提供 Mixins 这种代码复用机制,所以只能采用非常不优雅的复制粘贴的方式去“复用”代码

小程序websocket心跳库——websocket-heartbeat-miniprogram

在16年的时候因为项目接触到websocket,而后对心跳重连做了一次总结,写了篇博客,而后18年对之前github上的demo代码进行了再次开发和开源,最终封装成库。如下:在2020年也就是今年初,同事建议说可以考虑兼容一下小程序,心想也挺好的。

记一次小程序样式优化重构

在开发的过程中遇到了一些问题,但是最终减少了不少样式代码,同时功能上也更加强大。进一步来说,如果在后面我们的小程序用户想要自己定制化主题,也可以很快的实现。

手把手教你写个小程序定时器管理库

后台的定时器积累得越多,小程序就越卡,耗电量也越大,最终导致程序卡死甚至崩溃。特别是团队开发的项目,很难确保每个成员都正确清理了定时器。因此,写一个定时器管理库来管理定时器的生命周期,将大有裨益。

小程序自定义tabbar占位问题

针对于小程序中自定义tabbar问题,有多种自定义方式。其中之一就是需要将原先系统自带的tabbar隐藏,调用,就是在小程序底部原先放置tabbar的内容会出现空白,仍然会出现占位问题。

小程序多余文本省略号显示

如何在 wxml 页面中截取数据?取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的。那还有 css 啊,不一样可以做到吗?但是个人觉得 css 复用性太差,暂不考虑。

小程序横屏方案对比

随着小程序api开放的功能日渐增多,小程序可以做到的功能和展现形式也越来越多,其中横屏的展现形式就是其中的一种,而实现横屏的方案也有多种,但是每种方案都有一定的缺陷,恰巧最近也在横屏方案上踩了不少坑

微信小程序WXS之谜

微信创造了 WXS ,除了提高性能,还有什么原因?WXS(WeiXin Script)是微信创造的一套脚本语言,它的官方说法是:“WXS 与 JavaScript 是不同的语言,有自己的语法,并不和 JavaScript 一致”。

小程序开发注意事项_我的第一个小程序

业余时间学习了下小程序开发,整理一篇关于小程序开发需要注意的事项:后端接口域名必须使用https、不能直接进行dom节点操作、尽量使用es6的箭头函数、原生的组件层级是最高的等

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!