vue中路由 vue-router

router配置:
1.引入插件
2.安装插件并创建vueRouter对象
在这里插入图片描述

3.配置路由与组件之间的应用关系
在这里插入图片描述

4.暴露接口并在main.js中引入
在这里插入图片描述
在这里插入图片描述

1.
<router-link>
<router-view/>用于占位 配合使用
2.动态路由:
<router-link :to="'/user/'+userId">
配合监听watch:{
'$route'(){
this.$route.params.userId
}

路由懒加载 将路由对应的组件打包成一个个js代码块,只有当这个组件被访问到的时候才会被加载
三种写法:常用:component:()=>import('../components/about')

嵌套路由:
1.在这里插入图片描述

2.在home组件中
在这里插入图片描述

参数传递:
1.params类型:
路由配置:/users/:id
传递参数:<router-link :to="'/user/'+userId"> this.$router.push({path:'/user',params:{id:25}})
接受参数:this.$route.params.id
2.query类型
路由配置:/users
传递参数:在这里插入图片描述
接收参数:this.$route.query.name

一般在router中hook.js进行路由守卫等的配置

路由守卫:
为了防止如果用户没有登陆而是直接通过url进入了除登陆页面的情况
router.beforeEach((to, from, next) => {
  // to将要访问的路径n'n'n'n'n'n'n'n'n'n'n'n'n'n'n'n'n
  // from
  // next() 是一个函数,表示放行  next('/login') 表示强制跳转
  if (to.path === '/login') return next()
  // 此时说明将要访问home(非登录页的其它页面)页面    获取token
  const tokenStr = window.sessionStorage.getItem('token')
  if (!tokenStr) return next('/login')
  // 如果token不为空则放行
  next()

  // 此时如果从url直接进入home会返回login页面
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值