this.$router使用params传参

注意一点,使用params传参时只能使用name引入,不能通过path引入。

//params传参 使用name
this.$router.push({
    
    
  name:'second',
  params: {
    
    
    id:'20180822',
     name: 'query'
  }
})

//params接收参数
this.id = this.$route.params.id ;
this.name = this.$route.params.name ;

1.传参可以使用params和query两种方式。
使用params传参只能用name来引入路由,即push里面只能是name:’xxxx’,不能是path:’/xxx’,因为params只能用name来引入路由,如果这里写成了path,接收参数页面会是undefined!!!。

2.使用query传参使用path来引入路由。
params是路由的一部分,必须要在路由后面添加参数名。query是拼接在url后面的参数,没有也没关系。

3.二者还有点区别,直白的来说query相当于get请求,页面跳转的时候,可以在地址栏看到请求参数,而params相当于post请求,参数不会再地址栏中显示。

路由挑战时推荐使用name的方式,因为路径可能会变,但名字一般是由具体含义的,一般不会变,写起来也简单一些

猜你喜欢

转载自blog.csdn.net/qq_42931285/article/details/124996362