uni-simple-router 怎么实现跳转拦截
时间: 2023-09-29 07:08:01 浏览: 104
ARouter路由实现拦截跳转
uni-simple-router 是基于 Vue.js 和 uni-app 封装的路由库,可以在 uni-app 中实现页面的跳转和参数传递等功能。要实现路由跳转的拦截,可以使用 uni-simple-router 提供的 beforeEach 钩子函数。
在 main.js 中引入 uni-simple-router,并添加 beforeEach 钩子函数:
```javascript
import router from '@/common/router'
router.beforeEach((to, from, next) => {
// 判断是否需要拦截
if (to.meta.auth) {
// 判断用户是否登录
if (localStorage.getItem('token')) {
next()
} else {
next({
path: '/login',
query: {
redirect: to.fullPath
}
})
}
} else {
next()
}
})
Vue.prototype.$router = router
```
在上述代码中,我们首先从 uni-simple-router 中导入 router,在 beforeEach 钩子函数中判断是否需要拦截。在这个例子中,我们通过 to.meta.auth 判断是否需要登录权限,如果需要登录权限,则判断用户是否已经登录。如果用户已经登录,则允许跳转,否则跳转到登录页面,并传递当前页面的路径作为参数,方便登录后跳转回原来的页面。
最后,我们将 router 导入 Vue 的原型中,这样在组件中就可以通过 this.$router 访问到路由对象。
阅读全文