vue组合式API中prop
*一、了解(事件与$emit)
一个组件需要显示声明它所接受的props,这样才知道外部传入的那些是props,那些是透传attribute。
在<script setup>单文件组件中,props可以使用defineProps()宏来声明,defineProps 是一个仅 <script setup> 中可用的编译宏命令,并不需要显式地导入。声明的 props 会自动暴露给模板。defineProps 会返回一个对象,其中包含了可以传递给组件的所有 props:
//不需要这样显式的导入import { deineProps } from 'vue',
const props = defineProps(['title'])
//defineProps 会返回一个对象,其中包含了可以传递给组件的所有 props:
console.log(props.title)
没有使用<script setyp>的单文件组件
export default {
props:[''foo],
setup(props){
//setup() 接收props作为第一个参数
console.log(props.foo)
}
}
注意:上述两种方法definProp() 的参数 和 props选项的值是相同的背后使用的