uni.navigateTo 保留当前页。(不会关闭当前页)跳转到某个页面内。它会进行叠加,在h5与小程序上频繁互跳,就会出现不能跳转问题。所以跳转时用 uni.redirectTo
1. 公共tab组件,点击跳转时 加判断禁止
props: {
banclick:{
type: '',
default: ''
}
},
changeItem(item) {
// item 要跳转的路径 this.banclick 父组件传的值,当前所处的页面路径
if(this.banclick == item.path){
console.log('禁止')
return false;
}
let _this = this;
// 用redirectTo 避免navigateTo 频繁跳转出现问题
uni.redirectTo({
url: item.path
});
},
2. tab 页面 ,传当前页面所处的路径url
<!-- tab组件上绑定 banclick 传 值 -->
<zdy-tabbar :current-page="1" ref="tabBar" :banclick='route'></zdy-tabbar>
onLoad(){
let curPage = getCurrentPages();
let route = curPage[curPage.length - 1].route; //获取当前页面的路由
this.route = '/'+ route;
}