Vue成神之路(七):VueRouter的router.push(),router.replace(),router.go()区别和this.$router传递参数与取值

一:this.$router.push、replace、go的区别

1.router.push()方式向路由对象中添加新的路由路径(会在浏览器history中留下记录)
声明式: 编程式:router.push(…)
2.router.replace()方式向路由对象中添加新的路由路径(不会在浏览器history中留下记录)
声明式: replace>`编程式:router.replace(…)
3.router.go(-1)(相当于浏览器后退一步),router.go(3)(相当于浏览器前进三步)

二:this.$router传递参数与取值

1.几种传参数的方式Vue成神之路(七):VueRouter的router.push(),router.replace(),router.go()区别和this.$router传递参数与取值_第1张图片
a.使用router.push({path:’/register’,query:{plan:‘private’}}) 使用这种方式,传递参数会拼接在路由后面,出现在地址栏
b.使用router.push({name:‘register’,params:{plan:“private”}})使用这种方式,参数不会拼接在路由后面,地址栏上看不到参数
c.所以在 this.$router.push() 方法中 path不能和params一起使用,否则params无效

2.对应的参数获取方式
a.在目标页面通过this. r o u t e . q u e r y 获 取 参 数 : b . 在 目 标 页 面 通 过 t h i s . route.query获取参数: b.在目标页面通过this. route.queryb.this.route.params获取参数:

你可能感兴趣的:(VUE)