Vue3的传值:父向子,子向父

父组件向子组件传递值

父组件通过:冒号向子组件传递menuOpen

<template>
	<Process :menuOpen="menuOpen" />
</template>
<script setup lang="ts">
const menuOpen = ref<boolean>(false);
</script>

子组件通过defineProps接收父组件传来的值

<template>
<span v-if="menuOpen">啥啥啥</span>
</template>
<script setup lang="ts">
//从父组件传来的值
defineProps<{ menuOpen: boolean }>();
</script>

如果要在方法中使用从父组件传来的值,那么就要定义一个props

//从父组件传来的值
<script setup lang="ts">
	const props = defineProps<{
	  menuOpen: boolean;
	}>();
	const { menuOpen } = toRefs(props);
</script>

子组件向父组件传递值

子组件通过定义emits向父组件传递

<template>
	<div @click="handleClick">啥啥啥</div>
</template>
<script setup lang="ts">
//向父组件传递name值
const emits=defineEmits(['getNames']);
const handleClick=()=>{
  emits('getNames',item.name)
}
</script>

父组件接收子组件传来的值

<template>
	<Process @getNames="getNames" />
</template>
<script setup lang="ts">
const names = ref<string>('');
//子组件传来的事件
const getNames=(name:string)=>{
  names.value=name
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值