vue中路由跳转的多种方式(和$router下路由跳转的那几个方法的区别)

 更新时间:2023年11月07日 10:50:14   作者:寻源千鹤  
Vue.js是一款流行的前端JavaScript框架,它提供了多种方式来实现路由跳转,本文给大家分享vue中路由跳转的几种方式(和$router下路由跳转的那几个方法的区别),感兴趣的朋友一起看看吧

Vue.js是一款流行的前端JavaScript框架,它提供了多种方式来实现路由跳转。以下是其中几种常见的方式:

1.  声明式导航

在Vue的模板中,可以使用`<router-link>`标签来创建链接。该标签会被渲染为一个`<a>`标签,点击它时,它将导航到指定的路由

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

2.  编程式导航

在Vue实例中,可以使用`$router`对象来实现编程式导航,该对象提供了一些方法,如`push`、`replace`、`go`等。```

// 导航到指定的路由
this.$router.push('/home')
// 替换当前路由
this.$router.replace('/home')
// 后退一步
this.$router.go(-1)

3.  路由传参

在声明式导航和编程式导航中,可以通过`to`属性或方法的第二个参数来传递参数。

<router-link :to="{ name: 'user', params: { userId: 123 }}">User</router-link>
this.$router.push({ name: 'user', params: { userId: 123 }})

4.  命名路由

在Vue路由中,可以给路由配置一个唯一的名称,以方便在模板中使用。

{
  path: '/user/:id',
  name: 'user',
  component: User
}
<router-link :to="{ name: 'user', params: { id: userId }}">User</router-link>

以上是Vue中几种常见的路由跳转方式,通过它们,可以方便地实现路由之间的切换和传参。

===============================================

在Vue.js中,$router是Vue Router插件注入到Vue实例中的路由实例,它提供了几个方法来进行编程式导航,这些方法的区别如下

1.  $router.push(location, onComplete?, onAbort?)

`push`方法会在浏览器的历史记录中添加一条新的记录,当用户点击浏览器的后退按钮时,可以回退到之前的页面。同时,也可以在`push`方法中传递一个回调函数,在路由导航完成时执行。```

// 导航到指定的路由
this.$router.push('/home')
// 导航到命名路由
this.$router.push({ name: 'user', params: { userId: 123 }})
// 添加回调函数
this.$router.push('/home', () => {
  console.log('路由导航完成')
})

2.  $router.replace(location, onComplete?, onAbort?)

`replace`方法与`push`方法类似,也可以用来导航到指定的路由,但它不会在浏览器的历史记录中添加一条新的记录,而是替换当前的记录。当用户点击浏览器的后退按钮时,会跳转到上一个页面而不是当前页面的前一个。```

// 替换当前路由
this.$router.replace('/home')
// 替换命名路由
this.$router.replace({ name: 'user', params: { userId: 123 }})
// 添加回调函数
this.$router.replace('/home', () => {
  console.log('路由导航完成')
})

```
3.  $router.go(n)

`go`方法用来在浏览器的历史记录中前进或后退指定的步数,参数n可以是正数或负数,正数表示前进,负数表示后退。```

// 后退一步
this.$router.go(-1)
// 前进两步
this.$router.go(2)

```
以上三个方法都是用来进行编程式导航的,但它们的行为略有不同,根据具体的需求选择使用。需要注意的是,在使用这些方法时,需要确保路由实例已经创建并注入到Vue实例中。

到此这篇关于vue中路由跳转的几种方式(和$router下路由跳转的那几个方法的区别)的文章就介绍到这了,更多相关vue路由跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue中table多选/单选行,获取其数据方式

    vue中table多选/单选行,获取其数据方式

    这篇文章主要介绍了vue中table多选/单选行,获取其数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • SpringBoot+Vue3实现文件的上传和下载功能

    SpringBoot+Vue3实现文件的上传和下载功能

    上传文件和下载文件是我们平时经常用到的功能,接下来就让我们用SpringBoot,Vue3和ElementPlus组件实现文件的上传和下载功能吧,感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • vscode 开发Vue项目的方法步骤

    vscode 开发Vue项目的方法步骤

    这篇文章主要介绍了vscode 开发Vue项目的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • antd中table展开行默认展示,且不需要前边的加号操作

    antd中table展开行默认展示,且不需要前边的加号操作

    这篇文章主要介绍了antd中table展开行默认展示,且不需要前边的加号操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • vue3中router路由以及vuex的store使用解析

    vue3中router路由以及vuex的store使用解析

    这篇文章主要介绍了vue3中router路由以及vuex的store使用解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Vue3 elementUI 中 date-picker 使用过程遇到坑

    Vue3 elementUI 中 date-picker 使用过程遇到坑

    这篇文章主要介绍了Vue3 elementUI 中 date-picker 使用过程遇到坑,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2023-10-10
  • vue 每次渲染完页面后div的滚动条保持在最底部的方法

    vue 每次渲染完页面后div的滚动条保持在最底部的方法

    下面小编就为大家分享一篇vue 每次渲染完页面后div的滚动条保持在最底部的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • 深入理解Vue3里的EffectScope

    深入理解Vue3里的EffectScope

    本文主要介绍了Vue3里的EffectScope,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • vant IndexBar实现的城市列表的示例代码

    vant IndexBar实现的城市列表的示例代码

    这篇文章主要介绍了vant IndexBar实现的城市列表的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Vue + Vue-router 同名路由切换数据不更新的方法

    Vue + Vue-router 同名路由切换数据不更新的方法

    本篇文章主要介绍了Vue + Vue-router 同名路由切换数据不更新的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11

最新评论