位置: IT常识 - 正文

在Vue3项目中,输入没有路由对应的路径时候,怎么跳转到404或者首页(在vue3项目中自定义组件通常存放在)

编辑:rootadmin
在Vue3项目中,输入没有路由对应的路径时候,怎么跳转到404或者首页

推荐整理分享在Vue3项目中,输入没有路由对应的路径时候,怎么跳转到404或者首页(在vue3项目中自定义组件通常存放在),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue在项目中怎么用的,vue3例子,在vue3项目中自定义组件通常存放在,在vue项目中遇到的最大的困难,在vue3项目中使用vue2,vue在项目中遇到哪些问题,在vue3项目中自定义组件通常存放在,vue在项目中怎么用的,内容如对您有帮助,希望把文章链接给更多的朋友!

在一个Vue3应用中,通常情况下,我们使用Vue Router来处理路由。在Vue Router中,当用户请求输入一个不正确的URL路径时,没有路由与其相匹配,这时候会返回一个默认的404页面或者重定向到首页。因此,本文将通过以下几个方面来讨论如何在Vue3项目中实现这一功能。

1. 异步组件

在Vue3中,我们可以使用异步组件来延迟加载路由组件,并在组件加载完成前显示一个加载指示器。异步组件可以通过函数返回一个promise来实现,该promise在组件加载成功后resolve。

const Example = () => import('./Example.vue')

对于异步组件,当路由不能匹配时,Vue Router可以自动加载404组件。这要求您在路由表中明确定义404路由,并将其放在最后。这是一个示例:

const routes = [ { path: '/home', component: Home }, { path: '/example', component: Example }, { path: '/404', component: NotFound }, { path: '*', redirect: '/404' } ]

在这个示例中,我们向路由表中添加了一个NotFound组件,当路径不匹配时就会被加载。

2. 全局前置守卫在Vue3项目中,输入没有路由对应的路径时候,怎么跳转到404或者首页(在vue3项目中自定义组件通常存放在)

Vue Router还提供了另一种处理404的方法——全局前置守卫。这种方法涉及使用beforeEach钩子函数,在导航到任何路由之前进行检查。如果没有匹配的路由,则可以将用户重定向到404页面。

router.beforeEach((to, from, next) => { if (to.matched.length === 0) { next('/404') } else { next() } })

在上面的代码中,我们检测了即将要跳转到的路由对象是否拥有matched属性,如果有,那么继续跳转,否则就重定向到/404路由。

3. HTML5 history模式

Vue Router还支持HTML5 history模式,在这种模式下,我们可以将URL路径看起来像接近传统网站中的路径,而不是像一个前端路由。例如,我们可以让'www.xxx.com/about'与'/about'匹配。

在HTML5 history模式下使用时,客户端发送的任何请求都将被发送到服务器,而服务器将始终返回同一HTML文件。因此,在后端设置路由规则是必要的。

为在vue-router中启用history模式,需要使用vue-router选项中的mode属性:

const router = new VueRouter({ mode: 'history', routes: [...] })

在使用HTML5 history模式时,如果用户访问的URL不存在,则可以将用户重定向到默认首页或自定义404页面。

4. 计算属性

在Vue3中,我们还可以使用计算属性来实现处理404的逻辑。我们可以根据路由对象中matched属性的长度来检测是否有匹配的路由。如果没有,我们可以使用$route.path将用户重定向到自定义404页面。

<template> <div v-if="isNotFound"> <h1>404 Not Found</h1> </div> </template> <script> export default { computed: { isNotFound() { return this.$route.matched.length === 0 } }, watch: { isNotFound(val) { if (val) { this.$router.push('/404') } } } } </script>

在上面的示例中,我们使用一个计算属性isNotFound和一个watcher来监视isNotFound的变化。当isNotFound变为true时,我们将路由推送到/404。

结论

在Vue3中,处理404页面的方法有很多。我们可以使用异步组件、全局前置守卫、HTML5 history模式以及计算属性等技术来实现这一功能。这些方法可以根据我们的需求和项目的规模进行选择。无论使用哪种技术,我们都应该遵循最佳实践并保持代码清晰易读,并且对用户友好。

本文链接地址:https://www.jiuchutong.com/zhishi/287118.html 转载请保留说明!

上一篇:网站国际化 多语言处理工具i18n安装使用方法(网站国际化方案)

下一篇:神舟战神K670D 笔记本Windows10系统改Windows7系统的安(神舟战神k670c-g4e1游戏笔记本怎么样?)

  • iqoo9是曲面屏吗(iqoo9参数配置)

    iqoo9是曲面屏吗(iqoo9参数配置)

  • 荣耀30pro刷新率是90hz吗(荣耀30pro刷新率是多少Hz)

    荣耀30pro刷新率是90hz吗(荣耀30pro刷新率是多少Hz)

  • 荣耀v9可以放两张电信卡吗(荣耀v9支持双频wifi吗)

    荣耀v9可以放两张电信卡吗(荣耀v9支持双频wifi吗)

  • 华为手机充电完成提醒(华为手机充电完成提醒怎么关闭)

    华为手机充电完成提醒(华为手机充电完成提醒怎么关闭)

  • 拼多多退款成功了货收到了怎么办(拼多多退款成功货物可自行处理是什么意思)

    拼多多退款成功了货收到了怎么办(拼多多退款成功货物可自行处理是什么意思)

  • 红米k20烧屏保修吗(红米k20烧屏保修多长时间)

    红米k20烧屏保修吗(红米k20烧屏保修多长时间)

  • 手机更新系统会变卡吗(手机更新系统会清空数据吗)

    手机更新系统会变卡吗(手机更新系统会清空数据吗)

  • 三星用的什么处理器(三星用的什么ui)

    三星用的什么处理器(三星用的什么ui)

  • 快手的表情包怎么保存到手机(快手的表情包怎么弄到微信上)

    快手的表情包怎么保存到手机(快手的表情包怎么弄到微信上)

  • 电脑连接手机热点显示无internet访问权限(电脑连接手机热点无法上网)

    电脑连接手机热点显示无internet访问权限(电脑连接手机热点无法上网)

  • 笔记本电脑亮度已经最亮但还是太暗(笔记本电脑亮度调节失灵怎么办)

    笔记本电脑亮度已经最亮但还是太暗(笔记本电脑亮度调节失灵怎么办)

  • vivo快应用怎么卸载(vivo快应用怎么添加到桌面)

    vivo快应用怎么卸载(vivo快应用怎么添加到桌面)

  • 闲鱼永久禁言怎么申诉(闲鱼永久禁言解除)

    闲鱼永久禁言怎么申诉(闲鱼永久禁言解除)

  • 小米8夜光屏是什么意思(小米8夜光屏是什么牌子)

    小米8夜光屏是什么意思(小米8夜光屏是什么牌子)

  • qq上传到微云什么意思                (qq上传微云好友看不到吧)

    qq上传到微云什么意思 (qq上传微云好友看不到吧)

  • 两个微信号实名认证同一个人(两个微信号实名认证一个人,都可以帮人解封吗)

    两个微信号实名认证同一个人(两个微信号实名认证一个人,都可以帮人解封吗)

  • vivo相机怎么调九宫格(vivo相机怎么调比例)

    vivo相机怎么调九宫格(vivo相机怎么调比例)

  • 手机漏光是什么意思

    手机漏光是什么意思

  • oppor11t不推送colors5.2怎么办(为什么oppo新版本不推送)

    oppor11t不推送colors5.2怎么办(为什么oppo新版本不推送)

  • 携程优享预定怎么退(携程优享预定怎样取消)

    携程优享预定怎么退(携程优享预定怎样取消)

  • 实名制微信封号影响信誉么(实名制微信封号影响什么)

    实名制微信封号影响信誉么(实名制微信封号影响什么)

  • 手机淘宝和天猫是一家吗(手机淘宝和手机天猫是一个账号吗)

    手机淘宝和天猫是一家吗(手机淘宝和手机天猫是一个账号吗)

  • bluetooth蓝牙怎么使用(Bluetooth蓝牙怎么中英文转换)

    bluetooth蓝牙怎么使用(Bluetooth蓝牙怎么中英文转换)

  • win10怎么整理磁盘(w10怎么磁盘整理)

    win10怎么整理磁盘(w10怎么磁盘整理)

  • gtx1660ti和2060的差距有多大

    gtx1660ti和2060的差距有多大

  • 怎么设置微信自动运行(怎么设置微信自动添加好友)

    怎么设置微信自动运行(怎么设置微信自动添加好友)

  • 编译和连接 - 笔记 5(编译和链接的区别是什么)

    编译和连接 - 笔记 5(编译和链接的区别是什么)

  • 预提所得税的计税依据
  • 用于员工福利的进项税转出分录
  • 土地价款抵扣增值税
  • 个税什么会计科目
  • 海关进口增值税怎么计算
  • 金税四期影响企业贷款吗
  • 家庭保洁服务价格表
  • 发票勾选是否为转内销凭证是什么意思
  • 2019年印花税税率多少
  • 长期股权投资的4个明细科目
  • 总公司可以给分公司买车吗
  • 公司偷税漏税是当事人责任大还是法人责任大
  • 在产品,半成品,产成品是什么意思
  • 报废资产处置收入怎么计税
  • 增值税没有按时缴纳会影响开票吗
  • 股权变更印花税双方都要交吗
  • 以现金形式发放的员工餐费补贴,可并入职工福利费
  • &quot;明股实债“的税务风险,你真的清楚吗?
  • 全额计提坏账的款项收回
  • 销售收入交的印花税谁交
  • 上缴税金包括什么
  • 小微企业 2021
  • 车船使用牌照税收多少
  • 减免增值税的优惠政策
  • 收到保险公司车辆保险发票会计分录
  • 发出商品但货款没到账
  • 未实缴出资的股权转让后还要承担法律后果吗
  • win10商店无法加载
  • php获取ftp文件目录
  • linux中安装命令
  • 费用发生了 没有发票该如何记账
  • thinkphp5数据库操作
  • 劳务佣金合法吗?
  • 按实际成本结转6日和7日的材料采购成本
  • 中草药进销差价会计分录
  • 原材料按计划成本核算例题
  • 购买电脑如何入账
  • vue3引入图片
  • 增值税抄税报税流程
  • uniapp开发微信小程序怎么样
  • 计提本月财务费用会计分录
  • 未核定月数是什么
  • 小规模纳税人零申报流程
  • 汽车4s店,厂家返修
  • python缺失值的解决方法
  • c语言typedef的用法
  • 第一季度利润表年初余额
  • 增值税买票卖票
  • 固定资产一次性扣除政策
  • 已申报的财务报表可以修改吗
  • 计提缴纳企业所的会计分录怎么写
  • 增值税加计抵减怎么算
  • 购买房屋缴纳的契税可以退税政策
  • 专用发票跨月退税怎么办
  • 公司组织出国旅游很差吗
  • 公司法认缴资本金新规
  • 工程项目立项前的安全评估
  • 单位收走三方协议
  • 已计提教育费附加但是未扣除个税
  • 小规模纳税人销售货物税率是多少
  • 什么企业可以开培训费发票
  • 土地闲置费属于政府性基金收入
  • windows2003硬盘分区
  • linux怎么用命令
  • 用户请愿地址曝露怎么办
  • ubuntu怎么解压缩文件
  • mac 鼠标调整
  • win7硬盘访问权限怎么解除
  • nodejs stdin
  • nodejs数据库数据渲染
  • js折叠展开特效
  • javascript 进阶篇1 正则表达式,cookie管理,userData
  • 安卓手机管家怎么关闭
  • js获取当前时间
  • bootstrap 树
  • javascript toggle
  • javascript面向对象精要pdf下载
  • 老司机指的是
  • 重庆税务查询企业信息查询系统
  • 微信如何查询个人名下所有银行卡
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设