Vue(Vue2+Vue3)——69.路由的props配置

简介: Vue(Vue2+Vue3)——69.路由的props配置

69 路由的props配置


抛出问题


像这种写法,如果有一两个参数还好,但是如果有很多个参数需要接收,频繁的出现$route.params这种冗余代码,势必是不太好的,那么怎么可以让读取参数的时候简单点呢,不写这么多重复的东西

这时候就要借助路由的配置项props了


props属性


组件中也有props属性,主要是为了让组件接收外部传进来的参数

路由的props是为了让路由组件更方便的收到参数

哪个路由接收东西就给哪个路由配置props属性,关于props它有三种写法,三种写法不能同时出现,三选一


写法1 值为对象


值为对象,该对象中的所有key-value都会以props的形式传给Detail组件,这也是props最简单的写法,但是这种写法用的很少,因为传递的是死数据


写法2 值为布尔值


值为布尔值,若布尔值为真,就会把该路由组件收到的所有params参数,以props的形式传给Detail组件,这种方式虽然确实简化了代码,但是只适用于接收params参数,对与query的参数是接收不到的


写法3 值为函数


这种写法最为强大和实用,把逻辑在路由配置中完成,并且支持query和params的两者方式


总结


作用:让路由组件更方便的收到参数

{
        name:'xiangqing',
        path:'detail/:id',
        component:Detail,
        //第一种写法:props值为对象,该对象中所有的key-value的组合最终都会通过props传给Detail组件
        // props:{a:900}
        //第二种写法:props值为布尔值,布尔值为true,则把路由收到的所有params参数通过props传给Detail组件
        // props:true
        //第三种写法:props值为函数,该函数返回的对象中每一组key-value都会通过props传给Detail组件
        props(route){
                return {
                        id:route.query.id,
                        title:route.query.title
                }
        }
}
相关文章
|
2天前
|
JavaScript
|
1天前
|
存储 缓存 JavaScript
vue代码优化方案
【7月更文挑战第13天】 **Vue.js 优化要点:** 分解大组件以提高复用性和加载速度;利用计算属性与侦听器优化数据处理;使用Object.freeze()减少响应式数据;借助Vuex或Composition API管理状态;实现虚拟滚动和无限加载提升长列表性能;路由懒加载减少初始加载时间;用Vue DevTools检测性能瓶颈;定期代码审查与重构;应用缓存策略;遵循最佳实践与团队规范,提升应用整体质量。
10 2
|
JavaScript
|
4天前
|
JavaScript
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
【vue】el-dialog 内的tinymce弹窗被遮挡的解决办法 及 tinymce打开弹出菜单后直接关闭对话组件,导致该弹出菜单残留
16 6
|
4天前
|
JavaScript 前端开发
【vue】 el-table解决分页不能筛选全部数据的问题
【vue】 el-table解决分页不能筛选全部数据的问题
15 4
|
4天前
|
JavaScript
【vue】 vue2 监听滚动条滚动事件
【vue】 vue2 监听滚动条滚动事件
10 1
|
4天前
|
JavaScript 定位技术
【天地图】vue 天地图 T is not defined
【天地图】vue 天地图 T is not defined
15 1
|
9天前
|
数据采集 JavaScript 前端开发
Vue框架的优缺点是什么
【7月更文挑战第5天】 Vue框架:组件化开发利于重用与扩展,响应式数据绑定简化状态管理;学习曲线平缓,生态系统丰富,集成便捷,且具性能优化手段。缺点包括社区规模相对小,类型支持不足(Vue 3.x改善),路由和状态管理需额外配置,SEO支持有限。随着发展,部分缺点正被克服。
19 1
|
10天前
|
JavaScript
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
Vue卸载eslint的写法,单独安装eslint,单独卸载eslint
|
4天前
|
JavaScript 前端开发
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
【vue】 Tinymce 数据 回显问题 | 第一次正常回显后面,显示空白bug不能编辑
11 0