前言:我们都知道在vue中导航守卫有3种:全局导航守卫、路由独享导航守卫、组件内导航守卫,大致分为俩二类吧【全局】和【局部】。那么在Nuxt.js中要做导航守卫,可以使用middleware(中间件)来做,也是分为【全局】和【局部】(这个局部只指“页面级”)。
一、全局导航守卫
1.1 新建目录文件
在项目根目录新建,middleware目录,然后在middleware中新建auth.js文件 ( middleware/auth.js )
1.2 在 nuxt.config.js进行配置
router:{
middleware:'auth'
}
1.3 那么在middleware/auth.js中可写入的代码
export default( { $axios,store,redirect } )=>{
if( !store.state.user.userTatus ){
redirect('/login');
}
}
二、局部导航守卫
2.1 新建目录文件
在项目根目录新建,middleware目录,然后在middleware中新建auth.js文件 ( middleware/auth.js )
2.2 那么在middleware/auth.js中可写入的代码
export default( { $axios,store,redirect } )=>{
if( !store.state.user.userTatus ){
redirect('/login');
}
}
2.3 在页面级.vue中使用
<script type="text/javascript">
export default{
data(){
return {}
},
middleware:'auth',
}
</script>
相关作者
- 获取点赞0
- 文章阅读量133
评论()