vue3父子组件传值

文章详细介绍了Vue中父子组件间通信的三种方式:props向下传递值,子组件通过emit触发父组件方法,以及使用ref直接引用子组件的方法。通过props定义接收的属性,子组件接收到父组件传递的值并显示。子组件可以通过emit触发自定义事件改变父组件状态。同时,父组件可以利用ref直接调用子组件的方法。
摘要由CSDN通过智能技术生成

父往子里传:

son.vue
defineProps是定义组件的,类型、初始值、是否必传之类,定义了还需要再定义一个接收的对象

<div>{{ name }}</div>

const props = defineProps({  
  name: {
    type: String
  }
})

father.vue

<son name='1111'></son>

效果就是在子组件的展示位置展示出1111
虽然是在父页面展示出来的,但是父页面把值传给了子组件,然后子组件接收到再展示在自己身上,因为子组件就在父页面所以最终效果是在父页面展示出

子往父里传

father.vue

<son @change='test'></son>

son.vue
change

<button @click="test">测试</button>
 
const emits = defineEmits(['change'])
function test() {
  emits('change', 123)
}

ref传值

father.vue

<son ref='temp '></son>

const temp = ref()

function test(val: any) {
  temp.value.test()
}

son.vue
要把方法暴露出去,要不然父组件拿不到

function test() {
 console.log('1111')
}
defineExpose({ test })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值