vue跳转页面常用的几种方法汇总

目录
  • 1:router-link跳转
    • 1.不带参数
    • 2.带params参数
    • 3.带query参数
  • 2:this.$router.push()
    • 1.不带参数
    • 2.query传参
    • 3.params传参
    • 4.query和params区别
  • 3:this.$router.replace()
  • 4:this.$router.go(n)
  • ps : 区别
  • 总结

vue跳转页面有好几种不同方法,下面将通过实例代码给大家介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下。

1:router-link跳转

1.不带参数

<router-link :to="{name:'home'}"> 
<router-link :to="{path:'/home'}"> //name,path都行, 建议用name 
// 注意:router-link中链接如果是'/'开始就是从根路由开始;如果不带'/',则从当前路由开始。 

2.带params参数

<router-link :to="{name:'home', params: {id:123456}}"> 
// params传参数 (类似post)
// 路由配置 path: "/home/:id" 或者 path: "/home:id" 
// 不配置path ,第一次可请求,刷新页面id会消失;配置path,刷新页面id会保留。
// html 取参 $route.params.id    script 取参 this.$route.params.id 

3.带query参数

<router-link :to="{name:'home', query: {id:123456}}"> 
// query传参数 (类似get,url后面会显示参数)
// 路由可不配置
// html 取参 $route.query.id    script 取参 this.$route.query.id

2:this.$router.push()

1.不带参数

this.$router.push('/home')
this.$router.push({name:'home'})
this.$router.push({path:'/home'}) 

2.query传参

this.$router.push({name:'home',query: {id:'123456'}})
this.$router.push({path:'/home',query: {id:'123456'}})
// html 取参 $route.query.id    script 取参 this.$route.query.id 

3.params传参

this.$router.push({name:'home',params: {id:'123456'}}) // 只能用 name
// 路由配置 path: "/home/:id" 或者 path: "/home:id" ,
// 不配置path ,第一次可请求,刷新页面id会消失
// 配置path,刷新页面id会保留
// html 取参 $route.params.id    script 取参 this.$route.params.id

4.query和params区别

query类似get, 跳转之后页面url后面会拼接参数,类似?id=123456, 非重要性的可以这样传, 密码之类还是用params刷新页面id还在

params类似post, 跳转之后页面url后面不会拼接参数, 但是刷新页面id会消失。

3:this.$router.replace()

用法同上,和第2个的this.$router.push方法一样。

4:this.$router.go(n)

<button @click="upPage">[上一页]</button>
<button @click="downPage">[下一页]</button>
upPage() {
this.$router.go(-1);  // 后退一步记录,等同于 history.back()
},
downPage() {
this.$router.go(1);   // 在浏览器记录中前进一步,等同于 history.forward()
}

向前或者向后跳转n个页面,n可为正整数或负整数

ps : 区别

this.$router.push

跳转到指定url路径,并向history栈中添加一个记录,点击后退会返回到上一个页面。

this.$router.replace

跳转到指定url路径,但是history栈中不会有记录,点击返回会跳转到上个页面 (直接替换当前页面)。

this.$router.go(n)

向前或者向后跳转n个页面,n可为正整数或负整数。

总结

以上所述就是给大家介绍的vue路由跳转四种方式,仅为个人经验。希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Vue实现路由跳转至外界页面

    目录 Vue路由跳转至外界页面 解决办法 Vue路由跳转页面的几种方式 总结 Vue路由跳转至外界页面 用法 如果使用路由是在 vue 页面中来回跳转,可以使用 this.$router.push() 实现,但是如果想用这种方法跳转到外部链接就会报错,因为外部页面中是存在 HTTP 等前缀的. 解决办法 1. 在 data 中定义好要跳转的外部链接 data() {     return {         url: 'http://www.baidu.com'     } } 2. 按钮中创建

  • Vue Router 实现登录后跳转到之前想要访问的页面

    目录 简介 简单示例 补充用户退出时的处理 进阶 简介 该功能主要用于判定用户权限,在用户无权限时重定向至登录页,并在用户完成登录后,再定向至用户之前想要访问的路由:或者用户在任意路由点击登录时,登录成功后返回当前路由.是一个很常规的小功能. 简单示例 本文仅演示路由跳转和导航守卫相关代码的实现,不包含具体的权限验证和登录请求. 实现该功能主要分为四步: 在登录组件的路由配置对象中添加 props: route => ({ redirect: route.query.redirect }) 在登

  • vue路由跳转后刷新指定页面的方法

    做项目遇到一个坑:A页面带参跳转到B页面,第二次跳转时的参数与第一次时的参数不同,但是后台查询时还是使用的第一次的参数.需要手动刷新之后,才会使用第二次参数. 鉴于时间原因直接使用刷新页面监听路由的方法.在准备跳转的A页面添加路由跳转监听事件,达到每次A页面跳转B页面时,B页面都会再次重新加载页面. 添加完成后,A页面跳转B页面,B页面成功刷新.正当我高兴的以为又解决了一个bug时,突然发现我从A页面跳转到C页面时,C页面竟然也在发生页面刷新现象.当时着实是将小主吓了一大跳.要知道正是因为要填写

  • Vue3如何根据搜索框内容跳转至本页面指定位置

    目录 需求 思路 实现过程 补充内容 总结 需求 需求:根据搜索框内容跳转至本页面指定位置 搜索框是我们在开发各类项目中出现率很高的一个"组件",在element-plus中名为"自动补全输入框",即我们可以根据输入的内容去检索列表或者表格或者其他本页面出现的元素,那我们应该如何去实现这个行为呢? 思路 整体过程是这样的: 点击输入框的内容,页面跳转至指定的内容位置 实现过程 ①首先我们必须要在页面中引入自动补全输入框组件 template部分 <el-aut

  • vue跳转页面常用的4种方法与区别小结

    目录 1:router-link跳转 2:this.$router.push() 3. this.$router.replace() 4. this.$router.go(n) ps:区别 总结 vue跳转页面有好几种不同方法,下面将通过实例代码给大家介绍,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下. 1:router-link跳转 1.不带参数 <router-link :to="{name:'home'}"> <router-link :to=

  • VUE的tab页面切换的四种方法

    1.静态实现方法: 效果图: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="widt

  • vue跳转页面的几种方法(推荐)

    vue跳转不同页面的多种方法 1:router-link跳转 <!-- 直接跳转 --> <router-link to='/testDemo'> <button>点击跳转2</button> </router-link> <!-- 带参数跳转 --> <router-link :to="{path:'testDemo',query:{setid:123456}}"> <button>点击跳

  • vue跳转页面并且实现参数传递接受示例

    目录 一.页面跳转.传递参数 二.接收参数 要实现一个功能:从页面A跳转到页面B,并且页面A的参数要传递到页面B,B使用传过来的参数. 从A到B. 其实就是2步走:1,A传递参数.2,B接受参数. 一.页面跳转.传递参数 在A页面的对应按钮,写上一个方法,点击的时候调用这个方法,进行跳转. # content of A <el-button size="mini" icon="el-icon-zoom-in" @click.native="goto_

  • vue 获取url里参数的两种方法小结

    我就废话不多说了,大家还是直接看代码吧~ 第一种: const query = Qs.parse(location.search.substring(1)) let passport = query.passport; 第二种: var query=this.$route.query; let lat = query.lat; 补充知识:Vue通过query获取路由参数 现在来讲Vue通过query获取路由参数 可以看见com1组件里的路由参数为 name=zhangsan&job=teache

  • html中创建并调用vue组件的几种方法汇总

    作者:Echoyya 出处:https://www.cnblogs.com/echoyya/ 最近在写项目的时候,总是遇到在html中使用vue.js的情况,且页面逻辑较多,之前的项目经验都是使用脚手架等已有的项目架构,使用.vue文件完成组价注册,及组件之间的调用,还没有过在html中创建组件的经验,所以借此机会学习总结一下. 方法一:Vue.extend( options ) 用法:使用基础 Vue 构造器,创建一个"子类".参数是一个包含组件选项的对象.data 选项是特例,需要

  • Vue项目中打包优化的四种方法详解

    目录 前言 打包优化的目的: 性能优化的主要方向: 1.异步组件配置(路由懒加载) 2.去掉打包后的 console 3.使用CDN 4.yarn build生成dist目录 总结 前言 默认情况下,通过import语法导入的第三方依赖包,最终会全部打包到一个js文件中,会导致单文件体积过大大,在网速底下时会阻塞网页加载,影响用户体验. 打包优化的目的: 1.项目启动速度,和性能 2.必要的清理数据 3.减少打包后的体积 第一点是核心,第二点呢其实主要是清理console 性能优化的主要方向:

  • 去掉vue 中的代码规范检测两种方法(Eslint验证)

    我们在使用vue 脚手架时,为了规范团队的代码格式,会有一个代码规范检测,如果不符合规范就会报错,有时候我们不想按照他的规范去写.这时我们需要关闭.这里有两种方法. 1.在搭建vue脚手架时提示是否启用eslint检测的. Use ESLint to lint your code? 写 no; 2.如果项目已经生成,我们可以这样. 在项目中代开 bulid 文件夹下的 webpack.base.config.js 文件.将以下代码删掉或注销: { test: /\.(js|vue)$/, loa

  • python os模块常用的29种方法使用详解

    os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 print(os.getcwd()) >>E:\pycharm\test os.chdir("dirname") 改变当前脚本工作目录:相当于shell下cd os.chdir('E:\pycharm') print(os.getcwd()) >>E:\pycharm os.curdir 是一个值,返回当前目录: ('.') print(os.curdir) >>. os

  • 小程序中监听页面滚动的几种方法实例

    目录 目录 实现效果 下面是Intersection Observer在MDN上的介绍 IntersectionObserver relativeToViewport 接受参数 Object margins observe(string targetSelector, function callback) 参数 Object res 小程序中监听页面的其他方法 page-meta scroll-view 总结 在工作中我们经常遇到需要监听页面中元素位置,当元素超出显示区域或即将显示到页面上,我们

随机推荐