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

  • 三类团购营销16种经典方法大集锦!(团购营销方案)

    三类团购营销16种经典方法大集锦!(团购营销方案)

  • vivox70怎么设置通话自动录音(vivox70怎么设置动态壁纸)

    vivox70怎么设置通话自动录音(vivox70怎么设置动态壁纸)

  • oppor17pro长宽(oppor17pro手机多长多宽)

    oppor17pro长宽(oppor17pro手机多长多宽)

  • oppo绘图密码忘了(oppo绘图密码忘记了有哪种方法可以解决)

    oppo绘图密码忘了(oppo绘图密码忘记了有哪种方法可以解决)

  • 有颜色的硅胶手机壳脏了怎么清洗(有颜色的硅胶手机壳有毒吗)

    有颜色的硅胶手机壳脏了怎么清洗(有颜色的硅胶手机壳有毒吗)

  • 进群改马甲是什么意思(进群改马甲的公告下一句)

    进群改马甲是什么意思(进群改马甲的公告下一句)

  • 为什么电子体温计测出来温度低(为什么电子体温计比水银体温计高)

    为什么电子体温计测出来温度低(为什么电子体温计比水银体温计高)

  • 笔记本显卡可以交火吗(笔记本显卡可以更换吗)

    笔记本显卡可以交火吗(笔记本显卡可以更换吗)

  • 华为p40pro用的什么系统(华为p40pro用的什么充电线)

    华为p40pro用的什么系统(华为p40pro用的什么充电线)

  • 笔记本切换屏幕快捷键(笔记本切换屏幕快捷键是什么)

    笔记本切换屏幕快捷键(笔记本切换屏幕快捷键是什么)

  • 小米有小爱同学oppo有什么(小米有小爱同学vivo有什么)

    小米有小爱同学oppo有什么(小米有小爱同学vivo有什么)

  • 小米9可以升5g吗(小米9可以使用5g网络吗)

    小米9可以升5g吗(小米9可以使用5g网络吗)

  • 华为更换灭屏样式(华为灭屏显示怎么更换)

    华为更换灭屏样式(华为灭屏显示怎么更换)

  • 南京地铁乘车码能刷几个人(微信怎么开通南京地铁乘车码)

    南京地铁乘车码能刷几个人(微信怎么开通南京地铁乘车码)

  • 苹果手机能下载喜马拉雅吗(苹果手机能下载两个微信吗)

    苹果手机能下载喜马拉雅吗(苹果手机能下载两个微信吗)

  • 微博等级怎么看不到了(微博等级怎么看有多少级)

    微博等级怎么看不到了(微博等级怎么看有多少级)

  • 喊siri没反应怎么回事(喊siri不出来)

    喊siri没反应怎么回事(喊siri不出来)

  • 怎样删除微信群里的图片和视频(怎样删除微信群公告里的图片)

    怎样删除微信群里的图片和视频(怎样删除微信群公告里的图片)

  • 为什么win7“添加或删除程序”列表仍留已卸载的程序名?(win7为什么不能安装软件)

    为什么win7“添加或删除程序”列表仍留已卸载的程序名?(win7为什么不能安装软件)

  • ltdmgr.exe是什么进程 有什么作用 ltdmgr进程查询(msgdlg.exe是什么意思)

    ltdmgr.exe是什么进程 有什么作用 ltdmgr进程查询(msgdlg.exe是什么意思)

  • 如何使用Chrome直接编辑前端代码(chrome使用教程)

    如何使用Chrome直接编辑前端代码(chrome使用教程)

  • python中ndarray与list转换的方法(numpy array ndarray区别)

    python中ndarray与list转换的方法(numpy array ndarray区别)

  • 小企业汇算清缴要审计报告吗
  • 消费税组成计税价格怎么理解
  • 异地预缴税款不交可以吗
  • 电子承兑凭证
  • 汇兑损益需要缴税吗
  • 分销佣金分配
  • 招待费增值税能抵扣吗
  • 股利怎么算出来的
  • 出口退税的企业范围
  • 开一张增值税发票需要交哪些税
  • 软件企业增值税退税的账务处理
  • 免税商品进项税可以抵扣吗
  • 增值税专票盖章正确位置
  • 金税盘问题
  • 房地产企业不可能没有合同台账
  • 浅谈收入与成本的关系
  • 商贸公司购买货物会计分录
  • 企业的低值易耗品主要包括什么等
  • 财务做账借贷分别表示
  • 企业所得税季报是填累计数吗
  • 1697510742
  • 退税收入要不要交所得税?
  • 公司在银行购买金币没有发票
  • 跨年怎么冲销发票
  • 分配的水电费属于什么会计要素
  • 搭建rtmp
  • RegSrvc.exe - RegSrvc是什么进程 有什么用
  • 子公司转为分公司,是不是需要缴纳土地增值税
  • 收到客户预付的货款的会计分录
  • 增值税一般纳税人资格登记表
  • 股票的交易费用多少
  • 汽车修理厂如何做账
  • 处理固定资产的账务处理
  • 无销售发票的基本户收入?
  • 吃鸡显卡推荐配置1060 5g
  • 即征即退,先征后退,先征后返的区别?
  • vue如何配置环境变量
  • 使用二氧化碳灭火器时人应该站在什么位置
  • pdo_mysql
  • 固定资产按公允价值还是约定的价值
  • 政府会计主体资产有哪些
  • 计提本月附加税2496.28
  • 代理出口货物的合同
  • 批发商和零售商属于
  • 微信小程序怎么制作自己的小程序
  • unity udim
  • 增值税怎样交
  • 金税三期可以申报个税吗
  • 收到专票怎么入账
  • 增值税普票遗失可否用复印件入账
  • 企业注销时应收账款需要交税吗
  • 现金折扣什么时候冲减收入
  • 每月企业所得税怎么征收
  • 建筑公司可以开3个点的专票吗
  • myeclipse配置数据库连接
  • 出口货物当月销售当月就要开票吗
  • 未开票收入如何计提增值税
  • 加油票子能报销吗
  • 其他应付款贷方什么意思
  • 事业单位可以购买工作服吗
  • 偷税漏税追溯年限怎么算
  • 小型微利企业所得税100到300
  • mysql 正则表达式 是否包含字母
  • windows7无法进入睡眠
  • 定时清理注册表会怎么样
  • mac重装macos
  • linux命令使用方法
  • cocos creator3
  • unity出现bug
  • 下雪了作文
  • jquery easyui 教程
  • 安卓手机的手势密码保存在哪个文件
  • js面向对象的原理
  • jquery中可以用什么方法来获取和设置元素属性
  • javascript字符串操作函数
  • python写邮箱
  • Python判断字符串结尾并输出yes或no
  • 税务人员廉洁自律承诺书
  • 国考什么时候开始备考比较好
  • 公司汽车用油计入什么科目
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设