在微信小程序中想要在全局监听路由的变化是有两种方法的:
1. 使用微信的隐式API, wx.onAppRoute监听路由跳转的方式来进行监听的
wx.onAppRoute((res) => {
console.log('跳转', res)
})
2. 使用IIFE立即执行函数来重写Page函数来为每个页面添加behaviors来进行监听,也可以专门为每个页面添加不同的处理,将上面的代码放入app.js的空白处即可
const routers = require("./utils/behaviors")
(function () {
var _page = Page;
Page = function (options) {
let { behaviors } = options;
if(typeof behaviors === 'undefined') {
behaviors = [];
}
if (typeof behaviors === 'string') {
behaviors = [behaviors];
}
behaviors.push(routers);
options = Object.assign({behaviors}, options)
_page(options);
}
})()
behaviors具体的使用参考