1.使用$router传参,$route获取参数

//$router : 是路由操作对象,只写对象 //$route : 路由信息对象,只读对象

//操作 路由跳转
this.$router.push({
      name:'hello',
      params:{
          name:'word',
          age:'11'
     }
})

//读取 路由参数接收
this.name = this.$route.params.name;
this.age = this.$route.params.age;

 

2.使用params带参数,需要对应使用name来指明路径,query带参数,则path,name都可以

query用name和path都可以传参是有一个前提的,如果router/index.js下面配置的name和path是一样的 你说的这种做法确实没有区别,但是一般他们用的是 path:'/index',name:'index'这样就不行的

所以建议使用path+query来进行传参

 

3.params带参数跳转,在跳转后页面再进行跳转或刷新都有可能导致数据丢失,建议使用query带参数

 

4.直白的来说query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示

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

5.

Logo

前往低代码交流专区

更多推荐