TS中组件传参,子传父(对传递的参数进行条件设置)

//常规
子中定义
const emit=defineEmits(['函数名1','函数名2'])
//定义事件触发传参
const getGift=()=>{
emit('函数名','改变值')
}

父中:在子组件中设置事件来接收即可
<son @getGift(子中事件名)=“getGift(父中新设置来接收的事件名)” />
const getGift=(值名(任意取):类型)=>{
console.log(值名)
}


//Ts新语法
子中定义
const emit=defineEmits<
{
(e:事件名1,参数名1:类型,参数名2:类型......):void//表示事件1对应的设置
(e:事件名2,参数名1:类型,参数名2:类型......):void//表示事件2对应的设置
.....
}>()
//定义事件触发传参
const getGift=()=>{
emit('函数名','值',‘值’)//此处的值应满足上面所设置的要求
}

父中:在子组件中设置事件来接收即可
<son @getGift(子中事件名)=“getGnm(父中新设置来接收的事件名)” />

const getGnm(新设置的)=(值名1(任意取):类型,值名2(任意取):类型)=>{
console.log(值名1,值名2)
}

具体完整代码示例如下图:

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
组件传参到父组件可以通过自定义事件和$emit方法实现。具体步骤如下: 1.在子组件定义一个方法,用于触发自定义事件并传递参数。 ```vue <template> <div class="child"> 子组件 <button @click="handleClick">传递参数到父组件</button> </div> </template> <script setup lang="ts"> import { defineEmits } from 'vue' defineEmits(['sendData']) const handleClick = () => { const data = '这是子组件传递给父组件的数据' // 触发自定义事件,并将数据作为参数传递给父组件 emit('sendData', data) } </script> ``` 2.在父组件通过ref获取子组件实例,并在mounted钩子函数监听子组件的自定义事件。 ```vue <template> <div class="parent"> 父组件 <Child ref="child" @sendData="handleReceiveData"></Child> <div>接收到的数据:{{ receivedData }}</div> </div> </template> <script setup lang="ts"> import Child from './Child.vue' import { ref, reactive } from 'vue' const child = ref(null) const state = reactive({ receivedData: '' }) const handleReceiveData = (data: string) => { // 接收子组件传递过来的数据 state.receivedData = data } // 在mounted钩子函数获取子组件实例 const mounted = () => { child.value = ref.value } </script> ``` 3.在父组件定义一个方法,用于接收子组件传递过来的数据。 ```vue <script setup lang="ts"> import Child from './Child.vue' import { ref, reactive } from 'vue' const child = ref(null) const state = reactive({ receivedData: '' }) const handleReceiveData = (data: string) => { // 接收子组件传递过来的数据 state.receivedData = data } // 在mounted钩子函数获取子组件实例 const mounted = () => { child.value = ref.value } </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值