vue3+vite+ts--withDefaults+defineProps的使用(父传子)
vue
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
项目地址:https://gitcode.com/gh_mirrors/vu/vue
·
目录
一、作用
- defineProps父组件绑定的属性值接收
- withDefaults是defineProps绑定默认值的api
二、示例
父组件
<template>
<div class="">
<h1>我是父组件</h1>
<son info="我是父组件传的数据" :arr="arr"></son>
</div>
</template>
<script lang="ts" setup>
import { reactive } from 'vue';
import son from './son.vue';
const arr = reactive<Array<string>>(['s', 's']);
</script>
<style lang="scss" scoped></style>
子组件
<template>
<div class="">
<h1>我是子组件</h1>
<div>{{ props.info }}</div>
<div>{{ props.arr }}</div>
</div>
</template>
<script lang="ts" setup>
import { withDefaults, defineProps } from 'vue';
const props = withDefaults(
defineProps<{
info: string;
arr: Array<string>;
}>(),
//设置默认值
{
info: '这里设置默认值',
arr: () => ['one', 'two']
}
);
</script>
<style lang="scss" scoped></style>
三、defineProps的用法
1.defineProps不使用泛型
defineProps({
info: {
type: String,
default: '默认数据'
},
arr: Array<string>
});
2.defineProps使用泛型
defineProps<{
info: string;
arr: Array<string>;
}>(),
3.withDefaults的使用
const props = withDefaults(
defineProps<{
info: string;
arr: Array<string>;
}>(),
//设置默认值
{
info: '这里设置默认值',
arr: () => ['one', 'two']
}
);
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079
[skip ci] 1 年前
73486cb5
* chore: fix link broken
Signed-off-by: snoppy <michaleli@foxmail.com>
* Update packages/template-compiler/README.md [skip ci]
---------
Signed-off-by: snoppy <michaleli@foxmail.com>
Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)