位置: 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游戏笔记本怎么样?)

  • 闹钟设置在哪里找(手机闹钟设置在哪里)

    闹钟设置在哪里找(手机闹钟设置在哪里)

  • 微信如何下载电子身份证(微信如何下载电脑版)

    微信如何下载电子身份证(微信如何下载电脑版)

  • 抖音群怎么设置管理员权限(抖音群怎么设置进群门槛)

    抖音群怎么设置管理员权限(抖音群怎么设置进群门槛)

  • 华为手机有几种重启方法(华为手机有几种关机方法)

    华为手机有几种重启方法(华为手机有几种关机方法)

  • 云班课密码忘记了怎么找回密码(云班课密码忘记了怎么找回密码手机验证码不能用了)

    云班课密码忘记了怎么找回密码(云班课密码忘记了怎么找回密码手机验证码不能用了)

  • 小米视频权限在哪里打开(小米视频开启权限)

    小米视频权限在哪里打开(小米视频开启权限)

  • applewatch蜂窝版和gps区别(applewatch蜂窝版可以不带手机吗)

    applewatch蜂窝版和gps区别(applewatch蜂窝版可以不带手机吗)

  • 抖音共同关系列表不可见(抖音关注共同关系)

    抖音共同关系列表不可见(抖音关注共同关系)

  • mp4格式是音频还是视频(mp4是音频文件还是视频文件)

    mp4格式是音频还是视频(mp4是音频文件还是视频文件)

  • 红米note8pro支持OTG吗(红米note8pro支持红外遥控吗)

    红米note8pro支持OTG吗(红米note8pro支持红外遥控吗)

  • ios13.4更新了什么(ios13.5更新了什么)

    ios13.4更新了什么(ios13.5更新了什么)

  • 小米10青春版耳机孔在哪里(小米10青春版耳机孔在哪个地方)

    小米10青春版耳机孔在哪里(小米10青春版耳机孔在哪个地方)

  • 唯品会七天无理由退货是哪七天(唯品会七天无理由)

    唯品会七天无理由退货是哪七天(唯品会七天无理由)

  • 什么是hifi音质(什么叫hifi音质)

    什么是hifi音质(什么叫hifi音质)

  • 小谷机器人怎么解童锁(小谷机器人怎么连接手机)

    小谷机器人怎么解童锁(小谷机器人怎么连接手机)

  • qq个性标签怎么弄成圆圈(qq个性标签怎么变格式)

    qq个性标签怎么弄成圆圈(qq个性标签怎么变格式)

  • 带耳机会无故出现siri(带耳机会无故出声音吗)

    带耳机会无故出现siri(带耳机会无故出声音吗)

  • vivo x7可不可以插内存卡(vivox7可不可以用电信卡)

    vivo x7可不可以插内存卡(vivox7可不可以用电信卡)

  • GTX显卡是独显吗

    GTX显卡是独显吗

  • 苹果11和xr屏幕一样吗(苹果11pro 屏幕多少寸)

    苹果11和xr屏幕一样吗(苹果11pro 屏幕多少寸)

  • 网线分千兆和百兆吗(网线百兆和千兆接法一样吗)

    网线分千兆和百兆吗(网线百兆和千兆接法一样吗)

  • 快手限流会通知吗(快手限流官方会有提示么)

    快手限流会通知吗(快手限流官方会有提示么)

  • 七天网络app登录未授权(七天网络app怎么登录)

    七天网络app登录未授权(七天网络app怎么登录)

  • 荣耀9x出现新版本要不要更新(荣耀9x新版本怎么样)

    荣耀9x出现新版本要不要更新(荣耀9x新版本怎么样)

  • vivo手机电话簿怎么恢复(vivo手机电话簿怎么导入到卡里)

    vivo手机电话簿怎么恢复(vivo手机电话簿怎么导入到卡里)

  • 陌陌怎么聊天打招呼(陌陌聊天打字特效都有什么)

    陌陌怎么聊天打招呼(陌陌聊天打字特效都有什么)

  • 铅酸改锂电要注意(铅酸 改锂电)

    铅酸改锂电要注意(铅酸 改锂电)

  • 资金账簿印花税和营业账簿的区别
  • 发行股票的手续费计入什么费用
  • 税款必须要15号之前交吗
  • 卷式发票是什么样的
  • 事业单位申请电采暖电表免费么新疆昌吉
  • 通用原始凭证有哪些?
  • 进项税额留底月底销项税金如何结转?
  • 母子公司可以开具资金占用费
  • 收到去年未计提折旧费
  • 城建税及教育费附加税怎么算
  • 三类不良行为
  • 分公司可以列为被告吗
  • 销售人员差旅费管理办法
  • 销售方如何开具红字增值税专票 对方未抵扣
  • 小规模税控盘服务费怎么填增值税申报表
  • 贷款损失准备如何提取
  • 用友t3怎样查询报表
  • 库存商品结转会计分录
  • 如何增强无线网卡的接收能力
  • 我想测试一下网速
  • 劳务外包开什么样的发票
  • .inc是什么文件
  • PHP:mb_detect_order()的用法_mbstring函数
  • 个人所得税查账征收管理办法
  • 公积金补缴需要去柜台吗
  • 出口零申报步骤
  • 收到的税费返还减少说明什么
  • 浅谈php技术
  • 环绕着山的是什么歌
  • 本文虚构
  • 企业要缴哪些税种
  • 顺流交易逆流交易区别
  • 支付税务罚款
  • php使用什么开发工具
  • 推荐最好用的
  • js面试必问
  • 微软官方wintogo
  • 管理人员工资属于直接费还是间接费
  • python输入三个数判断能否构成三角形
  • phpcms怎么用
  • 事业单位会计结转分录
  • phpcms怎么用
  • 小规模纳税人是什么意思
  • 只有收入没有成本怎么做账
  • 其他综合收益会影响未分配利润吗
  • 长期待摊费用如何记账
  • 贴现凭证的分录
  • 开劳务发票需要的资料是?
  • 运动会活动奖品
  • 企业收到的政府部门工作经费
  • 完税凭证抵扣进项税额分录
  • 结转产品成本怎么算
  • 计提税费和实际缴纳的有差额怎么办
  • 活动经费要发到每个员工
  • 老会计带新手教学真账实操
  • 工业企业发生的各项费用都应计入产品成本对不对
  • 企业在计划内应生产的工业产品
  • CentOS 7.2下MySQL的安装与相关配置
  • MySQL timestamp的类型与时区实例详解
  • ubuntu怎么说
  • 苹果mac怎样
  • linux系统添加新用户
  • mmc.exe是什么
  • win10升级版本后还要激活吗
  • win8双系统怎么删除一个
  • linux系统评测
  • JAVAscript操作word
  • 批处理语言 从入门到精通
  • cocos2dx视频教程
  • java物流功能
  • jquery制作图片提示效果
  • 一个简单的网页
  • python saga
  • js对象创建方法
  • javascript的介绍
  • 如何在电子税务局签订三方协议
  • 税控系统技术维护费每年都要交吗
  • 关于个体户的个人所得税的最新政策法规
  • 服饰类关税
  • 河北省原地税局领导班子
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设