Vue3-17 父子组件使用props传值

文章目录

TypeScript 文档复习

JavaScript 中的数据类型

string 、 number 、 boolean 、 null 、 undefined 、 bigint 、 symbol 、 object

备注:其中 object 包含: Array 、 Function 、 Date ...

注意点: JS 中的这三个构造函数: Number、 String 、 Boolean ,他们只⽤于包装对象,正常开发时,很少去使⽤他们。

TypeScript 中的数据类型

  1. 以上所有
  2. 四个新类型: void 、 never 、 unknown 、 any 、 enum 、 tuple
  3. ⾃定义类型: type 、 interface
    注意点: JS 中的这三个构造函数: Number、 String 、 Boolean ,他们只⽤于包装对象,正常开发时,很少去使⽤他们,在 TS 中也是同理。

导入自定义的对象

如果使用ts,在里面写的是具体的对象名,只能具象导入

如果对象文件命名为index.ts,就可以写导入到文件目录,不用具体到具体的对象名

为什么可以这么做?

这是因为 JavaScript/TypeScript 的模块解析规则,特别是 目录索引文件(index file)​ 的机制:当导入一个目录时,Node.js/TypeScript 会自动查找该目录下的 index.js或 index.ts文件。

编译器解析:

复制代码
查找 @/types
发现 types是一个目录
查找目录下的 index.ts文件
从 index.ts中导入所需内容

好处:

index.ts相当于一个 目录的门面(facade)​ 或 API 入口:

复制代码
隐藏了内部的文件结构
提供了统一的导出接口
让导入语句更简洁
便于内部重构而不影响外部代码

父组件向子组件传值


推荐用reactive的泛型

父组件是数据的提供方,子组件需要接受数据,接收值使用同父组件属性的变量接收

父组件向子组件中传入数据,子组件接收需要用到defineProps,如下接收,接收什么参数,直接视图上用什么参数显示值,缺点是打印不了,而且这个属性不能是ref。

可以使用变量接收这个接收的props,是所有接收值的对象。

js 复制代码
defineProps(['a', 'b'])



可以不接收父组件传过来的属性值;

如果接收了没有传过来的属性值,打印效果如下:值是undefined的。

如果获取接收的值,可以如下console.log(x.a); // 哈哈

组件传值

标签的属性中,不加冒号是字符串,加冒号是js表达式,需要执行。

ref这个属性是特殊的,不需要加冒号就是变量

遍历用v-for,最好加上key,免得混乱,

问题:不加key就是用索引当key了,数据更新的时候容易错乱

子组件接收父组件数据

接收数据并限制类型,这样能防止父组件传递错误的数据

限制参数可传可不传

设置默认值

defineProps 是不用导入的;

defineXX 在Vue3中是宏函数,不用导入直接使用

相关推荐
floret. 小花2 天前
Vue3 + Electron 知识点总结 · 2026-03-21
前端·面试·electron·学习笔记·vue3
木斯佳2 天前
前端八股文面经大全:小红书前端一二面OC(下)·(2026-03-17)·面经深度解析
前端·vue3·proxy·八股·响应式
沙振宇3 天前
【Web】使用Vue3+PlayCanvas开发3D游戏(六)模拟自驾场景SR+3D可视化
前端·游戏·3d·vue3·playcanvas
小鲤鱼ya3 天前
vue3 + ts + uni-app 移动端封装图片上传添加水印
前端·typescript·uni-app·vue3
floret. 小花3 天前
Vue3 知识点总结 · 2026-03-20
前端·面试·electron·学习笔记·vue3
January12073 天前
VBen Admin 实战:身份证号自动填充出生年月
vue3·vben
哆啦A梦15884 天前
java项目在后端做跨域配置
java·vue3
路光.6 天前
uniappVue2升级Vue3内存溢出解决方式
vue·vue3·uniapp
沙振宇6 天前
【Web】使用 Vue3+PlayCanvas 开发 3D 游戏(五)3D 模型鼠标交互控制
3d·vue3·鼠标·playcanvas
nibabaoo9 天前
前端开发攻略---Vue3项目中实现指定区域的打印预览与 PDF 导出功能
vue3·js·打印预览pdf