vue路由配置(404,路由正则,重复参数)

vue路由配置

404

  {
  path:'/:path(.*)',
  component:NotFound
}

参数及正则

  • 有参数
  {
  path:'/news/:id',
  component:News
},
  • 有参数并限定参数为数字
  {
  path:'/news/:id(\\d+)',
  component:News
},
  • 至少一个参数
  {
  path:'/news/:id+',
  component:News
},
  • 参数可有可无
  {
  path:'/news/:id*',
  component:News
},
  • 0个或者1个
  {
  path:'/news/:id?',
  component:News
},
### 配置 Vue 3 的 404 页面 为了确保当用户访问不存在的路径时可以展示自定义的 `404` 错误页面,在 Vue Router 中配置通配符路由是一个常见做法。该通配符应当放置于所有其他已定义的具体路径之后,以便只有在没有任何匹配项的情况下才触发此特殊页面。 #### 定义 404 组件与路由规则 创建一个名为 `Router404.vue` 的组件用于表示未找到资源的情况[^2]: ```vue <template> <div class="not-found"> <h1>Oops!</h1> <p>The page you're looking for doesn't exist.</p> </div> </template> <script setup lang="ts"> // 这里可以根据需求导入必要的依赖或声明变量 </script> <style scoped> .not-found { text-align: center; } </style> ``` 接着更新项目的路由配置文件(通常是 `src/router/index.js` 或者类似的命名),添加如下所示的最后一项规则来捕捉任何未能被先前规则所覆盖的请求并指向上述创建好的 `404` 组件: ```javascript import { createRouter, createWebHistory } from 'vue-router' import HomeView from '../views/HomeView.vue' const routes = [ // ... 其他具体业务逻辑相关的路由映射 ... // 将这条语句放在所有常规路由后面 { path: '/:pathMatch(.*)*', // 使用正则表达式确保捕获任意URL模式 name: 'NotFound', component: () => import(/* webpackChunkName: "about" */ '../views/Router404.vue') } ] const router = createRouter({ history: createWebHistory(process.env.BASE_URL), routes }) export default router ``` 这段代码中的关键在于使用了`:pathMatch(.*?)*`作为路径参数名,这允许它接受任何形式的字符串输入而不会抛出异常;同时通过懒加载的方式引入对应的视图组件以优化应用性能[^1]。 #### 测试配置效果 完成以上更改后重启开发服务器,并尝试导航至应用程序内实际存在的链接之外的地方验证是否成功展示了预期的信息。另外也要记得检查浏览器控制台是否有报错信息影响正常渲染过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值