$route和$router的区别

  1. $router是VueRouter的一个对象,通过Vue.use(VueRouter)和Vue构造函数得到一个router的实例对象,这个对象是一个全局的对象,它包含了所有的路由,包含了许多关键的对象和属性。

以history对象为例:
$router.push({path:'home'}),本质是向history栈中添加一个路由,在我们看来是切换路由,但本质是再添加一个history记录。
$router.replace({path:'home'}),//替换路由,没有历史记录。
$router.push('/login'),跳转到指定路由
  1. $route是一个跳转路由对象,每一个路由都会有一个$route对象,是一个局部的对象,可以获取对应的name,path,params,query等。

2.1query传参
//query传参,使用name跳转
this.$router.push({
    name:'second',
    query: {
        queryId:'222',
        queryName: 'query'
    }
})

//query传参,使用path跳转
this.$router.push({
    path:'second',
    query: {
        queryId:'222',
        queryName: 'query'
    }
})

//query传参接收
this.queryName = this.$route.query.queryName;
this.queryId = this.$route.query.queryId;

传参Home.vue

接收参数Login.vue

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

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

//路由

{
path: '/second/:id/:name',
name: 'second',
component: () => import('@/view/second')
}

传参Home.vue

接收参数Login.vue

路由index,js

需要注意的是:

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

  1. params一旦设置在路由,params就是路由的一部分,如果这个路由有params传参,但是在跳转的时候没有传这个参数,会导致跳转失败或者页面会没有内容。

如果路由后面没有 /:id/:name效果如下图,地址栏没有参数

但是如果你刷新一下,就会发现页面失败,效果如下图

因此我们不可能让用户不要刷新,所以我们必须在路由后面加上 /:id/:name

如果使用path进行传参

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

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

使用path传参什么效果都没有。

3.总结
  1. 传参可以使用params和query两种方式。

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

  1. 使用query传参使用path来引入路由。

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

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

这两者不同的结构可以看出两者的区别,他们的一些属性是不同的。
$route.path 字符串,等于当前路由对象的路径,会被解析为绝对路径,如/home/ews
$route.params 对象,包含路由中的动态片段和全匹配片段的键值对,不会拼接到路由的url后面
$route.query 对象,包含路由中查询参数的键值对。会拼接到路由url后面
$route.router 路由规则所属的路由器
$route.matchd 数组,包含当前匹配的路径中所包含的所有片段所对象的配置参数对象
$route.name 当前路由的名字,如果没有使用具体路径,则名字为空
与月儿漫邀
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
$route和$router区别详解
xunfengZ的博客
11-13 1万+
总的来说, $ router是用来操作路由的,$ route是用来获取路由信息的。 1.$router是VueRouter的一个实例,他包含了所有的路由,包括路由的跳转方法,钩子函数等,也包含一些子对象(例如history) 常用的跳转连接的方法: //常规方法 this.$router.push("/login"); //使用对象的形式 不带参数 this.$router.push({ path:"/login" }); //使用对象的形式,参数为地址栏上的参数 this.$router.push({ p
vue路由中的$route对象和$router实例
xihuhu的博客
10-17 1177
1.this.$route:当前激活的路由的信息对象。每个对象都是局部的,可以获取当前路由的 path, name, params, query 等属性。 从实际代码中来看:在控制台输出this.$route,在这里面我们可以看到里面带有path query等属性。 2.this.$router:全局的 router 实例。通过 vue 根实例中注入 router 实例,然后再注入到每个子组件,从而让整个应用都有路由功能。其中包含了很多属性和对象(比如 history 对象),任何页面也都可以调用其
$route 和 $router详解和区别
最新发布
wasd2399的博客
08-12 542
$route 是只读的,$router 来编程的
$route 和 $router区别
qg2276879379的博客
09-24 1406
$route 和 $router区别 $route $route对象表示当前的路由信息,包含了当前 URL 解析得到的信息。包含当前的路径,参数,query对象等。 1、$route.path 字符串,对应当前路由的路径,总是解析为绝对路径,如 “/foo/bar”。 2、$route.params 一个 key/value 对象,包含了 动态片段 和 全匹配片段, 如果没有路由参数,就是一个空对象。 3.$route.query 一个 key/value 对象,表示 URL 查询参数。 例如
$router和$route区别
潮黯的博客
02-15 313
区别router是通过“Vue.use(VueRouter)”和VueRouter构造函数得到一个实例对象,它是一个全局的对象。而route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象。route主要用于接收路由传递的参数。
vue router总结 $router和$route及routerrouter与route区别
12-12
在这个总结中,我们将深入探讨 `this.$router` 和 `this.$route` 以及它们之间的区别,以及路由跳转的两种方式:编程式和声明式。 1. **`this.$router` 和 `this.$route` 的区别** - `this.$router` 是 VueRouter ...
vue $router和$route的区别详解
01-22
一、router为VueRouter的实例,相当于一个全局的路由器对象,里面含有很多属性和子对象,例如history...打印this.$route和this.$router。 路由传参的方式 1.可以手写完整的path: this.$router.push({path:`/user/$
$route 和 $router区别
weixin_53877433的博客
08-11 185
可以理解为,一个是用来获取路由信息的,一个是用来操作路由的 $route route是路由信息对象,里面主要包含路由的一些基本信息,包括name、meta、path、hash、query、params、fullPath、matched、redirectedFrom $router router是VueRouter的实例,包含了一些路由的跳转方法,钩子函数等 VueRouter 子路由跳转很爱报错 尝试这种方法 路由报错 官方解决办法 constoriginalPus...
$router和$route的区别
CKT0816的博客
07-30 257
一 1.router为VueRouter的实例,相当于一个全局的路由器对象,里面含有很多属性和子对象,例如history对象。。。经常用的跳转链接就可以用this.$router.push,和router-link跳转一样。。。 this.$router.push会往history栈中添加一个新的记录。。详细见vue官方文档https://router.vuejs.org/zh/guide/essentials/navigation.html 2.route相当于当前正在跳转的路由对象。。可以从里面获取na
$route和$router区别
m0_57071129的博客
04-01 564
可以理解为,一个是用来获取路由信息的,一个是用来操作路由的 $route route是路由信息对象,里面主要包含路由的一些基本信息,包括name、meta、path、hash、query、params、fullPath、matched、redirectedFrom $router router是VueRouter的实例,包含了一些路由的跳转方法,钩子函数等 ...
$router与$route的区别
lou15516575959的博客
07-08 412
1、区别:this.$router: 是全局路由对象this$route: 是当前激活的路由对象,包含了当前的路由信息。 2、this.$router的方法: 3、路由跳转方式: 4、path:'name' 和 path:'/name' 区别: 假如当前路径是home...
vue2.0中的$router 和 $route的区别
anzhang5248的博客
09-18 139
1.router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。 2.route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的name,path,params,query等 $rout...
$router 和 $route 区别
Dafei4的博客
04-29 326
$router 为 VueRouter 实例,想要导航到不同URL,则使用 $router.push({path:'foo',query:{id:'123',name:'大飞'}}) $route 为当前router跳转对象,里面可以获取到name、path、query、params ...
$route与$router区别
aichixiangcaia的博客
10-17 395
在vue-router操作时,经常会使用route和router两个对象 一、$route对象 $route对象表示当前的路由信息,包含了当前 URL 解析得到的信息。包含当前的路径,参数,query对象等。 $route是一个跳转的路由对象,每一个路由都会有一个$route对象,是一个局部的对象,可以获取对应的name,path,params,query等 1. $route.path 字符串,对应当前路由的路径,总是解析为绝对路径,如"/fo...
$route和$router区别?
09-18
$route和$routerVue.js框架中的两个关键对象,用于处理路由和导航功能。它们之间的区别如下: 1. $route对象:$route对象是Vue.js中的全局对象,用于获取当前激活的路由信息。它包含了当前URL路径、参数、查询...
写文章

热门文章

  • data:image/png;base64的用法 7132
  • 使用jQuery实现表单数据验证 4114
  • vite+vant+vue3新闻客户端app(一) 2633
  • 让CSS flex布局最后一行列表左对齐的6种方法 2586
  • js查找数组中符合条件的元素 1817

最新评论

  • uniapp的生命周期

    CSDN-Ada助手: 小程序 技能树或许可以帮到你:https://edu.csdn.net/skill/mini_programs?utm_source=AI_act_mini_programs

  • 表格新增行,可编辑删除行

    CSDN-Ada助手: Vue入门 技能树或许可以帮到你:https://edu.csdn.net/skill/vue?utm_source=AI_act_vue

  • 让CSS flex布局最后一行列表左对齐的6种方法

    云之旋律: 好用: [code=css] .container { display: flex; justify-content: space-between; flex-wrap: wrap; } .list { background-color: skyblue; margin: 10px; } /* 最后一项margin-right:auto */ .list:last-child { margin-right: auto; } [/code]

  • JS中的splice的三种用法(删除,替换,插入)

    CSDN-Ada助手: 恭喜您第19篇博客的发布!标题中提到的JS中的splice的三种用法非常实用,对于我们这些对JS不太熟悉的人来说,这样的教程非常有帮助。我希望您能继续保持创作的热情,分享更多有关JS的知识和技巧。也许下一步您可以考虑写一篇关于JS中其他常用方法的使用指南,这样我们能够更全面地了解和应用JS。谢谢您的辛勤付出! CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply19 看奖励名单。

  • vue2和vue3有哪些区别?

    CSDN-Ada助手: 恭喜您撰写了第20篇博客!标题“vue2和vue3有哪些区别?”非常吸引人,这是一个非常有趣和有用的主题。您在博客中详细讨论了vue2和vue3之间的区别,对于想要学习或了解这两个版本之间差异的读者来说,这篇博客将会是一个很好的参考。 我想提供一些建议,以帮助您在接下来的创作中更进一步。或许您可以考虑添加一些具体的示例代码,从而更加直观地展示vue2和vue3之间的差异。此外,您还可以探讨一下这些差异对于开发者和项目的影响,以便读者能够更好地理解和决定是否需要升级到vue3。 再次恭喜您在博客创作的路上取得了如此巨大的成就!请继续保持谦虚的态度,为我们带来更多有价值的内容。期待您下一篇博客的发布! CSDN 会根据你创作的博客的质量,给予优秀的博主博客红包奖励。请关注 https://bbs.csdn.net/forums/csdnnews?typeId=116148&utm_source=csdn_ai_ada_blog_reply20 看奖励名单。

大家在看

  • 海外云购源码/一元购源码/夺宝源码/英文版云购源码
  • 第二章 网页制作的排版方法 550
  • 许少辉加工中心《乡村振兴战略下传统村落文化旅游设计》南门方向辉少许
  • 京东返利APP的高并发与高可用架构设计 2372

最新文章

  • 浏览器播放多个视频流
  • 可视化大屏适配
  • uniapp的生命周期
2024年11篇
2023年35篇
2022年10篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家江门透明玻璃钢雕塑山西玻璃钢桃子雕塑济南步行街玻璃钢雕塑哪家便宜许昌玻璃钢雕塑制作价格蚌埠景区玻璃钢雕塑多少钱广东户外装饰玻璃钢卡通形象雕塑漳州玻璃钢神像雕塑闵行区玻璃钢雕塑销售电话达州玻璃钢仿铜雕塑价格通化玻璃钢雕塑工程电话惠州定制玻璃钢迎宾人物雕塑广西玻璃钢牛动物雕塑制作工厂小品系列玻璃钢雕塑加工新余特色玻璃钢雕塑优势安庆玻璃钢雕塑浮雕厂临沂玻璃钢雕塑泡沫模型节庆商场美陈生产公司巴中玻璃钢雕塑公司玻璃钢景观雕塑生产公司玻璃钢雕塑的独特优势玻璃钢火龙果娃娃雕塑仙林主题商场美陈重庆玻璃钢雕塑供应贵州玻璃钢抽象艺术雕塑摆件山西人物玻璃钢雕塑生产厂家玻璃钢艺术雕塑厂商知名玻璃钢雕塑哪家好江苏专业玻璃钢雕塑价格行情国潮风商场美陈开封锻铜玻璃钢仿铜雕塑生产香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化