父组件传子组件:
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根本不需要,可直接使用。