父组件传子组件:
prpos里设置
type类型,必须写
required就是必传值,
default是默认值,required是true的话就没必要写默认值了,写也可以
子组件传父组件(分发事件的方式):
setup(props, ctx) {
let childMsg = ref('我是子组件数据')
let send = () => {
ctx.emit('send', childMsg.value)
}
子组件发送一个,父组件接收,ctx上下文
父组件中接收跟vue2一样
传递多个数据
// 导入子组件
import child from './components/Child'
// 载入子组件
export default defineComponent({
components : {
child
},
})
// 传递组件变量
<child :msg='msg'></child>
// 子组件接受变量
export default defineComponent({
props : {
msg:{
type: String,
required:true,
default:"",
}
},
setup( props, ctx){
//子组件事件
ctx.emit('send', childMsg.value)
}
// 组件加载事件
onMounted(()=>{
// todo something
})
})
子组件向父组件传值
props中变量的属性,必传属性 required属性。
props作为子组件setup() 方法的形参传递进来,2.x根本不需要,可直接使用。