当前位置: 首页 > news >正文

VUE框架:vue2转vue3全面细节总结(3)路由组件传参

 

大家好,我是csdn的博主:lqj_本人

这是我的个人博客主页:

lqj_本人_python人工智能视觉(opencv)从入门到实战,前端,微信小程序-CSDN博客

最新的uniapp毕业设计专栏也放在下方了:

https://blog.csdn.net/lbcyllqj/category_12346639.html?spm=1001.2014.3001.5482

平时我也会在哔哩哔哩视频中讲解一些大家平时用得到的东西,

哔哩哔哩欢迎关注:

卢淼儿的个人空间-卢淼儿个人主页-哔哩哔哩视频

目录

路由组件传参

布尔模式

命名视图

对象模式


路由组件传参

当我们获取路由参数时,通常在模板中使用 $route ,在逻辑中调用 useRoute() 方法,如:

<template><div>User {{ $route.params.id }}</div>
</template><script setup lang="ts">
import { useRoute } from 'vue-router'
const route = useRoute()
console.log(route.params.id)
</script>

以上方法比较麻烦,而且与路由紧密耦合,不利于组件封装。我们可以在创建路由时通过 props 配置来解除这种行为:

const routes = [{path: '/user/:id',name: 'user',component: User,props: true}
]

此时 route.params 将直接被设置为组件的 props,这样组件就和路由参数解耦了:

<template><div>User {{ id }}</div>
</template><script setup lang="ts">
const props = defineProps<{id: string
}>()
console.log(props.id)
</script>

布尔模式

props 设置为 true 时,route.params 将被设置为组件的 props。

命名视图

对于有命名视图的路由,你必须为每个命名视图定义 props 配置:

const routes = [{path: '/user/:id',components: { default: User, sidebar: Sidebar },props: { default: true, sidebar: false }}
]

对象模式

props 是一个对象时,它会将此对象设置为组件 props 。当 props 是静态的时候很有用。

const routes = [{path: '/user',component: User,props: { newsletterPopup: false }}
]

 函数模式

我们也可以创建一个返回 props 的函数。这允许你将参数转换为其他类型:

const routes = [{path: '/user',component: User,props: route => ({ id: route.query.userId })}
]

/user?userId=123 参数会被转为 { id: '123' } 作为 props 传给 User 组件。

http://www.lryc.cn/news/114475.html

相关文章:

  • 音视频技术开发周刊 | 305
  • vue 图片base64转化
  • TS学习03-类
  • FastAPI(七)应用配置
  • eclipse Java Code_Style Code_Templates
  • 01《Detecting Software Attacks on Embedded IoT Devices》随笔
  • APP外包开发的学习流程
  • 第0章 环境搭建汇总
  • 大数据培训课程-《机器学习从入门到精通》上新啦
  • 暗黑版GPT流窜暗网 降低犯罪门槛
  • 数电与Verilog基础知识之同步和异步、同步复位与异步复位
  • JAVA Android 正则表达式
  • 【MFC】07.MFC第三大机制:消息映射-笔记
  • 【jvm】jvm的生命周期
  • 激光雷达测距和摄像头联合棋盘格反射率标定板
  • 【Docker】docker镜像+nginx部署vue项目:
  • 文件编辑(vi/vim)
  • 1007 Maximum Subsequence Sum (PAT甲级)
  • 虚拟机centos7配置网络
  • ChatGPT实战:创业咨询,少走弯路,少踩坑
  • LangChain手记 Overview
  • Vue_02:详细语法以及代码示例 + 知识点练习 + 综合案例(第二期)
  • [腾讯云 Cloud studio 实战训练营] 制作Scrapy Demo爬取起点网月票榜小说数据
  • 使用paddle进行酒店评论的情感分类5——batch准备
  • 04-1_Qt 5.9 C++开发指南_常用界面设计组件_字符串QString
  • Centos 从0搭建grafana和Prometheus 服务以及问题解决
  • 【代码解读】RRNet: A Hybrid Detector for Object Detection in Drone-captured Images
  • python人工智能可以干什么,python人工智能能干什么
  • K8s工作原理
  • go错误集(持续更新)