VUE2 子组件传多个参数,父组件函数接收所有入参并加自定义参数

需求中有个场景是需要在子组件中传多个参数,让父组件接收所有入参,并且父组件也要加自己的参数

1.子组件传多个参数给父组件

子组件

javascript 复制代码
// 子组件 ChildComponent.vue
<template>
  <button @click="sendDataToParent">传递数据给父组件</button>
</template>

<script>
export default {
  methods: {
    sendDataToParent() {
      const param1 = '参数1';
      const param2 = '参数2';
      this.$emit('send-data', param1, param2);
    }
  }
}
</script>

父组件

javascript 复制代码
// 父组件 ParentComponent.vue
<template>
  <div>
    <ChildComponent @send-data="handleDataFromChild"></ChildComponent>
  </div>
</template>

<script>
export default {
  methods: {
    handleDataFromChild(param1, param2) {
      console.log('参数1:', param1);
      console.log('参数2:', param2);
    }
  }
}
</script>

2.子组件传1个参数给父组件 ,并且父组件函数也传1个参数

子组件:

javascript 复制代码
// 子组件 ChildComponent.vue
<template>
  <button @click="sendDataToParent">传递数据给父组件</button>
</template>

<script>
export default {
  methods: {
    sendDataToParent() {
      const param1 = '参数1';
      this.$emit('send-data', param1);
    }
  }
}
</script>

父组件:

javascript 复制代码
// 父组件 ParentComponent.vue
<template>
  <div>
    <ChildComponent @send-data="handleDataFromChild($event,'customParam')"></ChildComponent>
  </div>
</template>

<script>
export default {
  methods: {
    handleDataFromChild(param1, customParam) {
      console.log('参数1:', param1);
      console.log('自定义参数:', customParam);
    }
  }
}
</script>

3.子组件传2个参数给父组件 ,并且父组件函数也传1个参数

子组件

javascript 复制代码
// 子组件 ChildComponent.vue
<template>
  <button @click="sendDataToParent">传递数据给父组件</button>
</template>

<script>
export default {
  methods: {
    sendDataToParent() {
      const param1 = '参数1';
      const param2 = '参数2';
      this.$emit('send-data', param1, param2);
    }
  }
}
</script>

父组件

javascript 复制代码
// 父组件 ParentComponent.vue
<template>
  <div>
    <ChildComponent @send-data="handleDataFromChild(arguments,'customParam')"></ChildComponent>
  </div>
</template>

<script>
export default {
  methods: {
    handleDataFromChild(chlidParams, customParam) {
      console.log('子组件中多个参数:', chlidParams);
      console.log('自定义参数:', customParam);
    }
  }
}
</script>
相关推荐
Shi_haoliu几秒前
inno setup6.6.1实例,制作安装包,创建共享文件夹,写入注册表(提供给excel加载项,此文章解释iss文件)
前端·vue.js·windows·excel
MediaTea2 分钟前
Python:实例 __dict__ 详解
java·linux·前端·数据库·python
狗头大军之江苏分军9 分钟前
又是一个周末加班夜,前端的我只想哭…
前端
个案命题19 分钟前
鸿蒙ArkUI组件通信专家:@Param装饰器的奇幻漂流
java·服务器·前端
Data_agent20 分钟前
CNFANS模式淘宝1688代购系统搭建指南
大数据·开发语言·前端·javascript
美酒没故事°25 分钟前
vue3+element 滚动触底加载选择器
javascript·vue.js·ecmascript
JobDocLS26 分钟前
Linux系统相关知识
linux·运维·服务器
QT 小鲜肉32 分钟前
【Linux命令大全】001.文件管理之gitview命令(实操篇)
linux·运维·服务器·chrome·笔记
澄江静如练_34 分钟前
表单输入绑定
服务器·前端·javascript
猩球中的木子37 分钟前
vue-plugin-hiprint打印高度不够,提示:没有足够空间,显示下方内容,问题处理方案及实操
前端·vue.js