當前封裝并沒有加動態(tài)路由 如有需要可手動添加一個 盛路由的數(shù)組 在跳轉(zhuǎn)前進行判斷
全局注冊
import Router from '@/common/utils/router';
export default {
install: function (Vue) {
Vue.prototype.router = new Router();
}
}
路由封裝
/**
* @exports
* 全局路由管理
*/
export default class Router {
constructor() {
console.log("global router class");
}
success () {
console.log("跳轉(zhuǎn)成功");
}
fail (err) {
console.error("跳轉(zhuǎn)失敗:", err);
}
/**
* 保留當前頁面歇由,跳轉(zhuǎn)到應用內(nèi)的某個頁面果港。
* @param { String } url 目標地址
* @description 使用uni.navigateBack可以返回到原頁面
* @example this.$router.push(url); => 去往指定頁面
*/
push (url) {
uni.navigateTo({
url,
success: this.success,
fail: this.fail
});
}
/**
* 關閉當前頁面谢谦,返回上一頁面或多級頁面猩谊。
* @param { num } delta 返回層級
* @description 可通過 getCurrentPages() 獲取當前的頁面棧,決定需要返回幾層喜滨。
* @example this.$router.back() => 返回上一頁面
*/
back (delta = 1) {
uni.navigateBack({
delta
});
}
/**
* 跳轉(zhuǎn)到 tabBar 頁面鸿市,并關閉其他所有非 tabBar 頁面。
* @param { String } url 目標地址
* @example this.$router.goGlobal(url) => 返回上一頁面
*/
goGlobal (url) {
uni.switchTab({
url,
success: this.success,
fail: this.fail
})
}
/**
* 關閉所有頁面即碗,打開到應用內(nèi)的某個頁面剥懒。
* @param { String } url 目標地址
* @example this.$router.redirect(url) => 重定向到目標頁面
*/
redirect (url) {
uni.reLaunch({
url
});
}
}