一:this.$router.push、replace、go的区别
1.router.push()方式向路由对象中添加新的路由路径(会在浏览器history中留下记录)
声明式:<router-link :to="…"> 编程式:router.push(…)
2.router.replace()方式向路由对象中添加新的路由路径(不会在浏览器history中留下记录)
声明式:<router-link :to="..." replace>`编程式:router.replace(…)
3.router.go(-1)(相当于浏览器后退一步),router.go(3)(相当于浏览器前进三步)
二: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.route.query获取参数:b.在目标页面通过this.route.params获取参数:
|
请发表评论