uni-app h5的onHide获取当前页面路径一直显示首页
uni-app h5的onHide获取当前页面路径一直显示首页
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 2017.8 | HBuilderX |
产品分类:uniapp/H5
浏览器平台:Chrome
浏览器版本:版本 96.0.4664.110(正式版本) (64 位)
### 操作步骤:
onHide() {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
console.log(currentPage.route)
},
预期结果:
获取到当前页面路径
实际结果:
获取的是首页路径
bug描述:
onHide h5的onHide获取当前页面路径一直显示首页,在app上面正常
```javascript
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
console.log(currentPage.route)
1 回复
在 uni-app
中,onHide
是页面生命周期钩子之一,当页面隐藏时触发。如果你在 onHide
中获取当前页面路径时一直显示首页路径,可能是因为在页面隐藏时,当前页面的路径已经被切换为首页路径。
要解决这个问题,你可以在页面隐藏之前(例如在 onUnload
或 onBeforeUnload
中)获取当前页面的路径,并将其存储在一个变量中,然后在 onHide
中使用这个变量。
以下是一个示例代码:
export default {
data() {
return {
currentPagePath: ''
};
},
onLoad() {
// 获取当前页面路径
this.currentPagePath = this.$mp.page.route;
},
onHide() {
// 使用之前存储的页面路径
console.log('当前页面路径:', this.currentPagePath);
},
onUnload() {
// 页面卸载时也可以获取路径
this.currentPagePath = this.$mp.page.route;
}
};