利用switch封装Uniapp中的跳转
export function jump (url,type){
switch (type){
case 'navigate': //保留当前页面,跳转到应用内的某个页面
uni.navigateTo({
url: url
});
break;
case 'redirect': //关闭当前页面, 跳转到应用内的某个页面
uni.redirectTo({
url: url
});
break;
case 'reLaunch': //关闭所有页面, 打开到应用内的某个页面
uni.reLaunch({
url: url
});
break;
case 'switch': //跳转到tabbar页面
uni.switchTab({
url: url
});
break;
case 'web':
uni.navigateTo({ //跳转外部链接
url: '/pages/web/index?link=' + encodeURIComponent(JSON.stringify(url))
});
break;
default: //默认方法
uni.navigateTo({
url: url
});
break;
}
}
在main.js中进行全局引入
import {jump} from '@/tools/utils/index.js' // 引入上面JS文件的根目录
Vue.prototype.$jump = jump
最后在页面中调用即可
this.$jump(this.url); //this.url为需要跳转到的页面路径,跳转方法默认为navigateTo
this.$jump(this.url, 'redirect'); //关闭当前页面, 跳转到应用内的某个页面
this.$jump(this.url, 'reLaunch'); //关闭所有页面, 打开到应用内的某个页面
this.$jump(this.url, 'switch'); //跳转到tabbar页面
this.$jump(this.url, 'web'); //跳转外部链接