$router与$route

作者: 陈大事_code | 来源:发表于2019-05-20 16:29 被阅读0次

router与route的参数对比

TIM图片20190520161431.png

$router

是什么?

$router是一个全局路由对象,是VueRouter的实例,我们可以在任何地方使用它。

常用方法:

作为全局路由对象,它包含了许多属性。譬如:history对象。

this.$router.push('/user')  // 跳转路由
this.$router.replace('/user')   // 跳转路由,但是不会有记录,不入栈。

$route

是什么?

$route是一个局部对象,表示当前正在跳转的路由对象。

常用:

  1. 使用params传递参数
//  使用带params的路由跳转
this.$router.push({name:'user',params:{id:1}})
//  对应取参
this.$route.params.id

注:使用params进行传参时,只能使用name,不然取参取不到,圈起来,要考的~

  1. 在path中进行配置(与params类似)
this.$router.push(`/user/${userId}`)
// 这时路由需要进行特殊配置
   {
     path: '/user/:userId',
     name: 'user',
     component: components['user']
   }
//  对应取参
this.$route.params.id
  1. 使用query
//  使用query
this.$router.push({path: '/user',query:{userId:2}}) 

//  对应取参
this.$route.query   // get请求url后面带的查询参数

params与query使用区别

  • url上
    params方式,在url中不会将传递的参数进行显示,类似于post,相对安全。
    query方式,在url中会将传递的参数进行展示,类似于get,不安全。
  • 用法
    params需要用name引入,query需要path引入。

相关文章

网友评论

    本文标题:$router与$route

    本文链接:https://www.haomeiwen.com/subject/cfokzqtx.html