美文网首页
[vue-router4进阶] 1.路由匹配

[vue-router4进阶] 1.路由匹配

作者: 林哥学前端 | 来源:发表于2021-11-03 10:15 被阅读0次

我们继续来学习关于路由匹配更多的用法

404页面

我们要配置一个路由,如果用户进入一个我们在route中没有定义过的页面,就让他进入404页面,
首先写一个vue文件,表示404页面,在views下新建一个文件404.vue:

<template>
  <div>404</div>
</template>

<script>
export default {
}
</script>

<style></style>

这个页面除了显示了一个404什么也没有,很简单。
然后在router.js文件的routes里定义我们的404路由,一般来说,我们把404路由定义在最后:

  {
    path: '/:pathMatch(.*)*',
    name: 'notFound',
    component: () => import('./views/404'),
  },

这样,如果用户进入没定义过的路由,我们都会给他显示404页面。
比如,进入http://localhost/:8081/linge
/linge这个路由我们在routes中没有定义过,所以页面会显示404.
在path属性中定义的这个pathMatch,我们可以通过它获取路由的值,
我们在404.vue中增加打印

<template>
  <div>404</div>
</template>

<script>
export default {
  mounted() {
    console.log(this.$route.params.pathMatch) // 新增
  },
}
</script>

<style></style>

我们可以看到控制台输出了:

['linge']

它是一个数组,linge就是我们当前的路由
我们把进入http://localhost:8081/linge/haha
控制台就会输出

['linge', 'haha']

这样我们不但可以把未定义的路由让他进入404页面,也可以获取这个路由的具体路径是什么

以特定字符串开头的路由匹配

比如说我们有一个会员页面,如果路由是以member开头,都进入这个页面,这个写法其实和上面的非常类似,我们先写一个member.vue,当做页面内容:

<template>
  <div>会员专页</div>
</template>

<script>
export default {}
</script>

<style></style>

然后在router.js中的route添加一个路由:

  {
    path: '/member:id(.*)',
    component: () => import('./views/member'),
    name: 'member',
  },

这样我们在浏览器中输入http://localhost:8081/member
就可以进入会员页面
http://localhost:8081/member01也可以进入会员页面,
我们在member.vue中还可以获取到member后面跟的数字,因为我们在route中定义了它叫id

<template>
  <div>会员专页</div>
</template>

<script>
export default {
  mounted() {
    console.log(this.$route.params.id) // 新增
  },
}
</script>
<style></style>

这是控制台打印了

01

这样我们就是实现了匹配所有以member开头的路由了。

官网上介绍了更高级路由匹配模式,不过我觉着没什么用,这里就不再介绍了,有兴趣的小伙伴可以自己去看看。

相关文章

  • [vue-router4进阶] 1.路由匹配

    我们继续来学习关于路由匹配更多的用法 404页面 我们要配置一个路由,如果用户进入一个我们在route中没有定义过...

  • 『react』路由

    一、路由的基本使用 1.路由的使用步骤: 2.默认路由 二、编程式导航 三、路由匹配模式 1.模糊匹配模式 2.精...

  • tp中的路由使用(基本)

    thinkPHP5.0支持自定义路由和thinkPHP3.0之前的自动匹配路由 1.自动匹配路由 'url_rou...

  • vue3中动态添加路由刷新无法正确匹配路由组件

    1.问题 动态添加路由之后,页面重新匹配路由,匹配到了设置的404 notfound页面 该页面是在路径无法匹配到...

  • Spring MVC的自身业务处理

    请求处理 1.请求捕获(url路由匹配,请求头匹配)@RequestMapping("/")匹配http://xx...

  • vue 路由的跳转和传参

    1. 必须使用 name 匹配路由,params 传参 (不可使用 path 匹配路由) 特点:参数保密,刷新页面...

  • [vue-router4进阶] 3.动态路由

    动态添加路由 现在我们所写的几个都是固定路由,每个用户都可以通过这些路由访问到我们的每个页面,但是在一些管理系统中...

  • (Vue-cli)四、路由进阶(二级路由&路由懒加载&scope

    四、路由进阶 1.路由模式 路由模式有两种:hash模式(默认) 和 history模式。hash模式:使用的是锚...

  • 6.正向路由

    必须学会正向路由 1. 路由 将url与视图进行绑定. (路由用于维护url与视图之间 关系.) 通过正则匹配...

  • koa的中间件

    中间件就是匹配路由(匹配任何路由或者特定的路由,其作用比如打印日志,查看权限)之前或者匹配路由完成之后所得一系列操...

网友评论

      本文标题:[vue-router4进阶] 1.路由匹配

      本文链接:https://www.haomeiwen.com/subject/rngzaltx.html