小程序
小游戏
企业微信
微信支付
扫描小程序码分享
这里有个微信小程序的问题问问大家-------------------app生命周期onlaunch和页面生命周期是异步的,页面的onload和onshow也是异步的。导致需要在onlaunch或者onload中获取参数后,onshow中不一定能调用到最新的参数。这种问题该如何解决呢。。。。特别是鉴权,每个页面都要鉴权一次,不像vue那样有个路由守卫
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
1、如大佬ʚ青哥ɞ所说,封装request
2、或者重写页面onLoad试试
// /utils/overWrite.js const myPage = Page Page = function (e) { let { onLoad } = e e.onLoad = (() => { return function (res) { // 各页面公共前置代码写在这里 // your code here // this为页面实例 console.log('overWrite onLoad:', res, this) onLoad && onLoad.call(this, res) } })() return myPage.call(this, e) } =============================== // app.js 中引入overWrite.js require('./utils/overWrite.js') App({ onLaunch: function () { } })
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
页面的onload之后是onshow
封装request统一鉴权
小程序app与page异步问题的最佳实践? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/00002ac57208f0e7335d111f156013
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
1、如大佬ʚ青哥ɞ所说,封装request
2、或者重写页面onLoad试试
// /utils/overWrite.js const myPage = Page Page = function (e) { let { onLoad } = e e.onLoad = (() => { return function (res) { // 各页面公共前置代码写在这里 // your code here // this为页面实例 console.log('overWrite onLoad:', res, this) onLoad && onLoad.call(this, res) } })() return myPage.call(this, e) } =============================== // app.js 中引入overWrite.js require('./utils/overWrite.js') App({ onLaunch: function () { } })
若认为该回答有用,给回答者点个[ 有用 ],让答案帮助更多的人
也有wx.onAppRoute,wx.onAppRouteDone不过都不能阻止页面加载
https://developers.weixin.qq.com/s/z5QokOmV7vg0
页面的onload之后是onshow
封装request统一鉴权
小程序app与page异步问题的最佳实践? - 微信开放社区 https://developers.weixin.qq.com/community/develop/article/doc/00002ac57208f0e7335d111f156013