/*
路由跳转节流函数
type 跳转方式 (必传:string)
url 跳转路由 /page/.../... | 1 | 2 navigateBack (必传:string | number)
successCallback 成功回调 (默认值:函数)
failCallback 失败回调 (默认值:函数)
completeCallback 结束回调 (默认值:函数)
delay 延时时间 (默认值:50 默认单位毫秒)
*/
function jump (){
let flg=true;
return function(type,url,successCallback=function(){},failCallback=function(){},completeCallback=function(){},delay=50){
if(!flg)return;
let jumpObj={
url,
success(res){
successCallback(res);
},
fail(err){
failCallback(err);
},
complete(){
completeCallback()
}
}
switch(type){
case 'navigateTo':
uni.navigateTo(jumpObj);
break;
case 'redirectTo':
uni.redirectTo(jumpObj);
break;
case 'reLaunch':
uni.reLaunch(jumpObj);
break;
case 'switchTab':
uni.switchTab(jumpObj);
break;
case 'navigateBack':
uni.navigateBack({
delta: url
});
break;
default:
break;
}
flg=false;
setTimeout(()=>{
flg=true;
},delay)
}
}
let roteJump=jump();
使用:
roteJump('navigateTo','/pages/index/index');
uni-app 路由跳转节流 (闭包函数) 开箱即用
最新推荐文章于 2024-07-25 16:21:45 发布