vue3 props 05
父组件
<script setup lang="ts">
import person from '@/components/person.vue'
import { ref, reactive, defineProps } from 'vue'
import { type Person } from '@/types/index'
let personList = reactive<Person>([
{ id: '1', name: 'zhansan', age: 18 }
])
console.log(personList)
</script>
<template>
<div>
<person a="组件" b="要打印接收的参数只能把defineProps也一起打印" :list="personList"/>
</div>
</template>
<style scoped></style>
子组件
<script setup lang="ts">
import { ref, reactive, withDefaults } from 'vue'
import { type Person } from '@/types/index'
// 接收a
// defineProps(['a','b'])
// defineProps只接收
// let x = defineProps(['a', 'b','personList'])
// 接收list+限制类型
// defineProps<{list:Person}>()
// 接收list+限制类型+限制必要性+指定默认值
// defineProps<{ list?: Person }>()
// 终极写法
withDefaults(defineProps<{ list?: Person }>(), {
list:()=> [{
id: '1111',
name: 'lisi',
age: 18
}]
})
// 要打印接收的参数
// console.log(x)
</script>
<template>
<div>
<!-- <p>{{ a }}</p>
<p>{{ b }}</p> -->
<p>{{ list }}</p>
<ul>
<li v-for="(item, index) in list" :key="index">
名字:{{ item.name }}
</li>
</ul>
</div>
</template>
<style scoped></style>
代码改变了我们,也改变了世界

浙公网安备 33010602011771号