小程序导航栏使用 uniapp组件 导航里的属性参数去官网查看uni-nav-bar组件
@clickLeft | 左侧按钮点击时触发 |
<uni-nav-bar class="nav-bar-top" :fixed="true" leftIcon="arrowleft" leftText="课程报名" @clickLeft="back()"
color="#ffffff" :border="false" :status-bar="true" />
触发back()方法来处理返回页
getCurrentPages()
函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。数组长度减一为当前页,数组长度减二为上一页
page.route 获取当前页面的路由
back() {
let pages = getCurrentPages(); // 获取当前页面栈的实例
let currPage = pages[pages.length - 1]; //当前页面
let prevPage = pages[pages.length - 2]; //上一个页面
//判断上一页是否为首页,如果是就直接返回首页
if(prevPage && prevPage.route && prevPage.route.indexOf("/jump") != -1){
uni.switchTab({
url:'/tabBar/home/index' //路径为测试数据,填写小程序真实路径就行
});
return;
}
//uni.navigateBack() 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层
uni.navigateBack({
success:() => {
delta: 1 //返回的页面数,如果 delta 大于现有页面数,则返回到首页。默认为1
//console.log('success')
},
//失败回调直接返回首页
fail:() => {
//console.log('fail')
uni.switchTab({
url:'/tabBar/home/index' //路径为测试数据,填写小程序真实路径就行
})
}
})
},