当前位置: 首页 > Web前端 > HTML

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

时间:2023-04-03 00:26:48 HTML

不是BB,直接进入主题1,将public方法绑定到Page上,单绑定constoldPage=PagePage=function(app){//注意public函数的名字不要重复,否则overrideapp.util=function(){}returnoldPage(app)}多重绑定,文件绑定constutil=require('./util.js');//util文件导出需要绑定的函数出来constoldPage=PagePage=function(app){letnewPage=Object.assign({},util,app)returnoldPage(newPage)}2.扩展修改lifecyclefunctionconstoldPage=PagePage=function(app){app.onLoad=function(options){//这里必须使用函数,不能使用箭头函数,否则会报错console.log("extendonLoad");//onLoad函数是在当前页面实例的上下文中执行的,所以当前this就是当前页面实例//如果不使用call硬绑定,而是直接app.onLoad(),那么onLoad中的this会是app的对象//也就是我们平时在page.js中使用的Page(app)括号里面自己写的page对象if(typeofapp.onLoad==='function'){app.onLoad.call(这个,选项);}}返回oldPage(app)}ps。想更系统的了解js中这方面的知识,可以点这里3.我自己写的时候,我把自定义的内容单独打包成一个js文件,然后在app.js中引用这个文件。require('./init.js');//仅引用App({onLaunch:function(options){}})