安卓手机返回按钮,返回上一页,不触发钩子函数
如题。
安卓手机自带返回按钮,点击后。返回上一页。但不触发上一页的onShow。
场景: 首页->登陆/绑定手机号
原本设定为:首页监听是否获取token,获取到则为已绑定成功,没获取到则弹出授权绑定弹框。监听在onshow里面实现,但现在进入绑定手机号页面后,点击安卓手机自带返回按钮后,不触发首页的onshow,也就无法监听。用户绕过绑定手机号。。。
求官方解答。谢谢。
ps:可能要躺尸了。
2 回复
麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
event.js
//event.js var events = {}; function on(name, that, callback) { console.log( 'event->on' , name) var tuple = [that, callback]; var callbacks = events[name]; if (Array.isArray(callbacks)) { callbacks.push(tuple); } else { events[name] = [tuple]; } } function remove(name, that) { console.log( 'event->remove' , name) var callbacks = events[name]; if (Array.isArray(callbacks)) { events[name] = callbacks.filter((tuple) => { return tuple[0] != that; }) } } function emit(name, data) { console.log( 'event->emit' , name, data) var callbacks = events[name]; if (Array.isArray(callbacks)) { callbacks.map((tuple) => { var that = tuple[0]; var callback = tuple[1]; console.log( 'event ' + name + ': +1' ) callback.call(that, data); }) } } exports.on = on; exports.remove = remove; exports.emit = emit; |
app.js中引入event.js
const event = require(’./utils/event.js’)
onLaunch: function (e) { this .event = event } |
在首页在onLoad里监听:
getApp().event.on( 'checkToken' , this , function (res) { //根据res逻辑处理 }) |
在绑定页面完成操作后提交事件:
getApp().event.emit( 'checkToken' , data) |