this.$router.replace和this.$router.push及this.$router.go()的区别

this.$router.push

1.跳转到指定URL,向history栈添加一个新的记录,点击后退会返回至上一个页面 2.声明式 <router-link :to="...."> 编程式 router.push(...)//该方法的参数可以是一个字符串路径,或者一个描述地址的对象。

1 this.$router.push({path:'/index'}) 2 this.$router.push({path:'/index',query:{name: '123'}}) 3 this.$router.push({name:'index',params:{name:'123'}}) 4 5 // 字符串 6 7  router.push('home') 8  // 对象 9  this.$router.push({path: '/login?url=' + this.$route.path}); 10  // 带查询参数,变成/backend/order?selected=2 11  this.$router.push({path: '/backend/order', query: {selected: "2"}}); 12  // 命名的路由 13  router.push({ name: 'user', params: { userId: 123 }})

this.$router.replace

1.跳转到指定URL,替换history栈中最后一个记录,点击后退会返回至上上一个页面 (A----->B----->C 结果B被C替换 A----->C) 2.设置 replace 属性(默认值: false)的话,当点击时,会调用 router.replace() 而不是 router.push(),于是导航后不会留下 history 记录。即使点击返回按钮也不会回到这个页面 加上replace: true后,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。

1 <router-link :to="..." replace></router-link> 2 // 编程式: 3 router.replace(...) 4 //push方法也可以传replace 5 this.$router.push({path: '/home', replace: true})

两种传参方式

1 this.$router.push({ 2 path: '/home', 3 query: { 4 site: [], 5 bu: [] 6 } 7 }) 8params: 9 this.$router.push({ 10 name: 'Home', // 路由的名称 11 params: { 12 site: [], 13 bu: [] 14 } 15 }) 16params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params 17query:/router1?id=123 ,/router1?id=456 ,这里的id叫做query。

this.$router.go(n)

1.类似window.history.go(n),向前或向后跳转n个页面,n可正(先后跳转)可负(向前跳转) 2.this.$router.go(1) //类似history.forward() this.$router.go(-1) //类似history.back()

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

一篇文章带你了解JavaScript日期

日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用