vue 、uniapp 获取页面路由(上一个页面)
正常vue获取路由是有问题的:let pages = getCurrentPages(); // 当前页面路由let beforePage = pages[pages.length - 2]; // 上一个页面路由let curRoute = pages[pages.length - 1].route; //获取当前页面路由获取上个页面路由是undif.....,这个时候问题就来了,百度搜索都是这
·
正常vue获取路由是有问题的:
let pages = getCurrentPages(); // 当前页面路由
let beforePage = pages[pages.length - 2]; // 上一个页面路由
let curRoute = pages[pages.length - 1].route; //获取当前页面路由
获取上个页面路由是undif.....,这个时候问题就来了,百度搜索都是这种写法,但是不中啊!
高人指路后,使用插件解决 uni-simple-router 路由拦截器
# 安装
npm install uni-simple-router # 或者: yarn add uni-simple-router
# 开始开发
npm run dev
# 构建静态文件
npm run build
在utils 目录下创建router.js文件
在 main.js 全局声明:
import { router, RouterMount } from './utils/router.js' //路径换成自己的
Vue.use(router)
原码展示,
// router.js
import { RouterMount, createRouter } from 'uni-simple-router';
const scrollInfo = {};
const router = createRouter({
platform: process.env.VUE_APP_PLATFORM,
routes: [
{
path: '*',
redirect: (to) => {
return { name: '404' }
}
},
],
});
//全局路由前置守卫
router.beforeEach((to, from, next) => {
let token = uni.getStorageSync('token') || ''
if (from.fullPath == to.fullPath) {
if (token) {
next()
} else {
ZWJSBridge.close()
.then((result) => {
// console.log(result, "result");
})
.catch((error) => {
// console.log(error, "error");
});
}
} else {
next();
}
});
// 全局路由后置守卫
router.afterEach((to, from) => {
})
export {
router,
RouterMount
}
供参考:
更多推荐
已为社区贡献2条内容
所有评论(0)