vue router 两种跳转push和replace对比区别

router.push(location) 会向 history 栈添加一个新的记录,当用户点击浏览器后退按钮时,则回到之前的 URL。

 

router.replace(location) 它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。

 

 传参的两种方式

   1.使用query

    2.使用params

 两者传参的区别是:

     1.query 传参配置的是path,而params传参配置的是name,在params中配置path无效

     2.query在路由配置时不需要设置参数,而params必须设置(如果不设置刷新后参数丢失)

     3.query传递的参数会显示在地址栏中

     4.params传参刷新会无效,query会保存传递过来的值,刷新不变

路由配置:
1.query

 2.params

 params是路由的一部分,必须要有。query是拼接在url后面的参数,没有也没关系。

params一旦设置在路由,params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。

params、query不设置也可以传参,但是params不设置的时候,刷新页面或者返回参数会丢失,query并不会出现这种情况

使用this.$route.query 或者this.$route.params来获取参数:

 

posted @ 2020-06-24 14:44  棠樾  阅读(5165)  评论(0编辑  收藏  举报