Vue router错误跳转到首页("/")的问题及解决

 更新时间:2023年10月07日 10:25:24   作者:CodingBugs  
这篇文章主要介绍了Vue router错误跳转到首页("/")的问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Vue router错误跳转到首页("/")

Vue通过this.$router.push方法进行页面的跳转主要有两种方式

// router/index.js
const routes = [{
        path: "/",
        name: "login",
        component: Login
    }, { 
        path: "/index",
        name: "index"
        component: Index
    }
]
①this.$router.push({path: "/index", query: {id: "1", name: "one"}})
②this.$router.psuh({name: "login", params: {id: "2", name: "two"}})

两种方法一个指定路径,一个指定组件名

path对应router中path, name对应router中的name,一一对应

path配合query, name配合params

如果path指定的路径在router/index.js中不存在地址栏会跳转但无法加载出内容

而name指定的名称在router/index.js中不存在会导致默认跳转到"/"

Vue router 路由跳转方法概述

一、概述

使用到Vue的项目,我们最常见使用的就是Vue配套的Vue Router库。

那么在平日开发中,有多少种跳转路由的方法?

二、跳转方法

1、使用router-link标签

使用router-link标签,我们通常会使用到2个参数,最常用的就是to参数

to参数,表示你想要跳转到的路由对象

router-link标签,会调用router.push()方法,该方法会在你点击浏览器会退按钮的时候,无痕回退一个路由。

可以是路由路径

<router-link to="/home">Home</router-link>
<router-link :to="'/home'">Home</router-link>

也可以是路由对象,甚至还可以为其携带参数

<router-link :to="{ path: '/home' }">Home</router-link>
<router-link :to="{ name: 'user', params: { userId: '123' }}">User</router-link>
<router-link :to="{ path: '/register', query: { plan: 'private' }}">
  Register
</router-link>

2、使用router-replace

设置 replace 属性的话,当点击时,会调用 router.replace(),而不是 router.push(),所以导航后不会留下历史记录。

<router-link to="/abc" replace></router-link>

3、使用router-push

方法1和2是使用html的方法来调用,对应的,也有使用js代码来控制路由的方法

router.push('/users/eduardo')
router.push({ path: '/users/eduardo' })
router.push({ name: 'user', params: { username: 'eduardo' } })
router.push({ path: '/register', query: { plan: 'private' } })
router.push({ path: '/about', hash: '#team' })

三、路由中params和query的区别

在上述代码中, 发现给路由传递参数,有params和query两个不同的方式,他们的区别又是什么 ?

query是什么?

从 URL 的 search 部分提取的已解码查询参数的字典。就是地址中?后面的内容,不过是已经解析的。

params是什么?

从 path 中提取的已解码参数字典。就是vue路由中的路径参数

如下方代码中的**id **字段,就是路径参数,当使用params的时候,就可以获取到。

const routes = [
  { path: '/users/:id', component: User },
]

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue中如何实现复制内容到剪切板详解

    vue中如何实现复制内容到剪切板详解

    有些业务需求需要点击按钮复制链接,下面这篇文章主要给大家介绍了关于vue中如何实现复制内容到剪切板的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • vue3中的ref、reactive问题解析

    vue3中的ref、reactive问题解析

    ref 和 reactive都是vue3推出的针对组合式设计的声明响应式状态的API,两者在使用之前都要先进行引入,本文通过实例代码详解vue3中的ref、reactive问题,感兴趣的朋友一起看看吧
    2024-03-03
  • vue3-ace-editor如何配置语法

    vue3-ace-editor如何配置语法

    这篇文章主要介绍了vue3-ace-editor如何配置语法问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • Vue3使用富文本框(wangeditor)的方法总结

    Vue3使用富文本框(wangeditor)的方法总结

    项目中用到了富文本,选来选去选择了wangeditor,下面这篇文章主要给大家介绍了关于Vue3使用富文本框(wangeditor)的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • Vue使用font-face自定义字体的案例详解

    Vue使用font-face自定义字体的案例详解

    @font-face 是 CSS 中的一个规则,它允许你加载服务器上的字体文件(远程或者本地),并在网页中使用这些字体,本文给大家介绍了Vue使用font-face自定义字体的案例,并通过代码讲解的非常详细,需要的朋友可以参考下
    2024-03-03
  • vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件

    vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件

    这篇文章主要介绍了vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件,帮助大家更好的理解和学习使用vue框架,感兴趣的朋友可以了解下
    2021-02-02
  • vue项目中js-cookie的使用存储token操作

    vue项目中js-cookie的使用存储token操作

    这篇文章主要介绍了vue项目中js-cookie的使用存储token操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue-Router实现页面正在加载特效方法示例

    Vue-Router实现页面正在加载特效方法示例

    这篇文章主要给大家介绍了利用Vue-Router实现页面正在加载特效方法示例,文中给出了详细的示例代码,相信对大家具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-02-02
  • vue如何使用element-ui 实现自定义分页

    vue如何使用element-ui 实现自定义分页

    这篇文章主要介绍了vue如何使用element-ui 实现自定义分页,可以通过插槽实现自定义的分页,本文通过实例图文相结合给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2024-07-07
  • 前端VUE3项目部署到linux服务器(CentOS 7)完整步骤

    前端VUE3项目部署到linux服务器(CentOS 7)完整步骤

    这篇文章主要介绍了前端VUE3项目部署到linux服务器(CentOS 7)的相关资料,包括项目打包、连接服务器、安装和配置Nginx、上传文件以及配置Nginx,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2026-01-01

最新评论