路由跳转方式name 、 path 和传参方式params 、query的区别

584 阅读1分钟

一、$ router$ route的区别

$router : 是路由操作对象,只写对象

$route : 路由信息对象,只读对象

$ router操作路由跳转


this.$router.push({ name:‘hello’, params:{ name:‘word’, age:‘11’ } })

$route读取 路由参数接收


var name = this.$route.params.name;

二、路由跳转方式name 、 path 和传参方式params 、query的区别

path 和 Name路由跳转方式,都可以用query传参

params传参,push里面只能是 name:'xxx',不能是path:'/xxx',因为params只能用name来引入路由,如果这里写成了path,接收参数页面会是undefined!!!

通过params传参

*注意:*这里使用name路由跳转方式路径不需要加 / 因为它只是个名字


this.$router.push({
    name:"Home",
    params:{
        id:this.id
    }
})

另一个页面接收:

这里使用params传参就需要写params接收


this.$route.params.id

通过query传参


this.$router.push({
    path:"/Search",
    query:{ //query是个配置项
        age:20
    }
})

另一个页面接收


this.$route.query.age

query相当于GET请求,页面跳转的时候,可以在地址栏看到请求参数

params相当于POST请求,参数不会在地址栏中显示

\