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']
}
);
GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
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> 4 个月前
e428d891
Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
更多推荐
已为社区贡献2条内容
所有评论(0)