因为公司项目后面要打包多个端,所以后面用到了uniapp。
页面跳到B页面后,这时需要返回到A页面。或者A->B->C,要从C返回到A,代码里我有写注释
这是我在网上看到的,并且改进了一下
// 返回上一页或者多页
// 这个函数建议放到公共的地方,很多页面都需要
backPageRefresh(page) { // page这个值如果你只返回上一页可以不用传,返回上上页就传2,以此类推
let pages = getCurrentPages(); // 当前页面
let i = 0
if (page) {
i = page - 1
}
let beforePage = pages[pages.length - (2 + i)]; // 前一个页面或者更多 beforePage 这个值当你刷新浏览器后是无法返回的,需要用到浏览器历史记录返回上一页 ()
if (beforePage && beforePage.$vm.refreshRequest) {
uni.navigateBack({
delta: page || 1,
success: function() {
beforePage.$vm.refreshRequest(); // 执行前一个页面或者前几个页面并且刷新该页面
}
});
} else {
history.back() // 浏览器的方法返回上一页
}
}
2.需要的地方调用这个方法
this.backPageRefresh() // 或者 (n)
3.刷新跳转过来的页面
methods: {
refreshRequest() {
// 这里面可以调用刷新该页面的方法
// ()
},
// getData().then(res =>{
// =
// })
}
大致就是这些了