您当前的位置: 首页 > 

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

vue中route和router的区别

梁云亮 发布时间:2022-06-30 11:47:03 ,浏览量:2

route:用来获取路由信息

route是路由信息对象,每一个路由都会有一个route对象,是一个局部对象,它里面主要包含当前路由的一些基本信息,比如:name、meta、path、hash、query、params、fullPath、matched、redirectedFrom等。

import {useRoute} from "vue-router"
const route = useRoute()

示例:

  • $route.path:字符串,对应当前路由的路径,总是解析为绝对路径,如"/foo/bar"。
  • $route.params: key/value 对象,包含了 动态片段 和 全匹配片段,如果没有路由参数,就是一个空对象。
  • r o u t e . q u e r y : k e y / v a l u e 对 象 , 表 示 U R L 查 询 参 数 。 例 如 , 对 于 路 径 / f o o ? u s e r = 1 , 则 有 route.query: key/value 对象,表示 URL 查询参数。例如,对于路径 /foo?user=1,则有 route.query:key/value对象,表示URL查询参数。例如,对于路径/foo?user=1,则有route.query.user == 1,如果没有查询参数,则是个空对象。
  • $route.hash:当前路由的hash值 (不带#) ,如果没有 hash 值,则为空字符串。锚点*
  • $route.fullPath: 完成解析后的 URL,包含查询参数和hash的完整路径。
  • $route.matched: 数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。
  • $route.name:当前路径名字
  • $route.meta:路由元信息
router:用来操作路由

router是VueRouter的实例,这个对象中是一个全局对象,他包含了所有的路由包含了许多关键的对象和属性

import {useRouter} from "vue-router"
const router = useRouter()

常用方法:

  • push:push方法的跳转会向 history 栈添加一个新的记录,当我们点击浏览器的返回按钮时可以看到之前的页面。 1.字符串:$router.push('user') 2. 对象:$router.push({path:'user'}) 3. 命名的路由:$router.push({name:'user',params:{id:1001}}) 4. 带查询参数,变成 /login?id=1001$router.push({path:'login',query:{id:'1001'}})

    • 路由跳转方式: push方法其实和是等同的 声明式: 编程式: $router.push(‘login’)
    • path:‘name’ 和 path:‘/name’ 区别:假如当前路径是home
      $router.push('/name') =>  /home/name
      $router.push('name')  =>  /name  
      
  • go 页面路由跳转 前进或者后退,比如:$router.go(-1) // 后退

  • replace push方法会向 history 栈添加一个新的记录,而replace方法是替换当前的页面, 不会向 history 栈添加一个新的记录 一般使用replace来做404页面:$router.replace('/') 配置路由时path有时候会加 ‘/’ 有时候不加,以’/'开头的会被当作根路径,就不会一直嵌套之前的路径。

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0404s