一、子组件向父组件传递一个值

子组件:

this.$emit('change', this.value);

父组件:

<!-- 在父组件中使用子组件 -->
<editable-cell :text="text" :inputType="inputType" @change="costPlannedAmountChange($event)" />
// 事件处理函数
async costPlannedAmountChange(value) {console.log(value)
}

在使用子组件时,绑定change函数的事件处理函数也可以写成如下格式:

<editable-cell :text="text" :inputType="inputType" @change="costPlannedAmountChange" />

绑定事件处理函数时,可以不带括号,形参则默认为事件对象,如果绑定时带上了括号,再想使用事件对象则需要传入$event作为实参。

二、子组件向父组件传递一个值,并携带额外参数

record为额外参数( 本文的额外参数都拿record做举例 )。
子组件:

this.$emit('change', this.value);

父组件:

<!-- 插槽 -->
<template slot="planned_amount" slot-scope="text, record"><!-- 在父组件中使用子组件 --><editable-cell :text="text" :inputType="inputType" @change="costPlannedAmountChange(record,$event)" />
</template>
// 事件处理函数
async costPlannedAmountChange(record,value) {console.log(record,value)
},

绑定事件处理函数时,record和$event的顺序不做要求,但是按照vue事件绑定的习惯,$event通常放在实参列表末尾。

三、子组件向父组件传递多个值

子组件:

// 向父组件传递了两个值
this.$emit('change', this.value,this.text);

父组件:

<editable-cell :text="text" :inputType="inputType" @change="costPlannedAmountChange" />
// 事件处理函数
async costPlannedAmountChange(param1,param2) {console.log(param1,param2)
},

绑定事件处理函数时,不能携带括号!!!如果携带括号并且在括号内加了$event,只能拿到子组件传递过来的第一个参数。

四、子组件向父组件传递多个值,并携带额外参数

record为额外参数( 本文的额外参数都拿record做举例 )。
子组件:

// 向父组件传递了两个值
this.$emit('change', this.value,this.text);

父组件:

<template slot="planned_amount" slot-scope="text, record"><!-- 在父组件中使用子组件 --><editable-cell :text="text" :inputType="inputType" @change="costPlannedAmountChange(record,arguments)" />
</template>
// 事件处理函数
async costPlannedAmountChange(record,args) {console.log(record,args)
},

arguments是方法绑定中的一个关键字,内部包括了所有方法触发时传递过来的实参。arguments和额外参数的位置谁先谁后不做要求,建议arguments放后面。

查看args的打印结果:

VUE 子组件向父组件传值(含传多值以及添加额外参数场景)相关推荐

  1. VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述,本篇文章主要来探讨一下Vue子 ...

  2. (25)Vue.js组件通信—父组件向子组件传值

    一.Vue.js组件通信介绍 子组件如何获取父组件中的数据?父组件如何得知子组件的数据变更?如果是更加复杂的组件关系呢?在组件间传递数据的操作,称为组件通信. 二.Vue.js组件通信内容 • 父组件 ...

  3. vue 子组件给父组件传值

    vue通信之子组件给父组件传值 子组件给父组件传值背景一般是子组件中某一事件之后,得到的某一状态或者是值,想要通知父组件改变. 通过自定义事件传值. 子组件: <Button type=&quo ...

  4. Vue学习--子组件向父组件传值

    Vue–子组件向父组件传值 //子组件 <template><div id="foot"><li @click="point(1)" ...

  5. Vue.js 父组件向子组件传值和子组件向父组件传值

    父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script>// 创建 Vue 实例,得到 ViewModelvar vm = new ...

  6. ⒒ Vue子组件向父组件传值

    组件之间传值 父组件向子组件传值使用props,参考:父组件向子组件传值! 子组件向父组件传值,主要是以下三个步骤组成: 在子组件中自定义一个事件,使用 this.$emit('btn-click', ...

  7. vue 组件间的通信,子组件向父组件传值的方式总结

    写vue,如果页面涉及到多个组件,就会涉及组件之间的通信,可能是父子组件间的通信,也可以是同级组件间的通信,那么,vue里面的组件如何通信.一般来说在vue的数据传递是在父组件传子组件通过属性来传,子 ...

  8. vue子组件向父组件传值的方法

    子组件向父组件,使用$emit方法,demo: 子组件的代码: <template><div><h1>this is child component</h1& ...

  9. Vue 父子组件传值 之 子组件向父组件传值

    所谓的子组件向父组件传值,实际上用的是事件映射,事件映射其实相当于自定义了一个事件 第一个参数是自定义(映射)事件的名称 第二个参数是要携带的参数     在子组件中,首先需要使用$emit方法,该方 ...

最新文章

  1. hdu4810 Cn中取i异或和
  2. V4L2框架分析学习
  3. php调用函数的变量,从内PHP函数调用的变量在外部函数使用
  4. boost的chrono模块线程时钟的测试程序
  5. Linux mysql生成不了随机密码,用MySQL 生成随机密码
  6. Unity 新手入门 如何理解协程 IEnumerator yield
  7. 使用Stream.peek在Java Streams内部进行窥视
  8. centos5.3安装vmware
  9. 库存产品日期查询功能sql优化
  10. pythonfor循环例句_Python for 循环语句
  11. OpenShift Security (3) - 准备客户端环境和演示应用
  12. java 读取mysql数据库_原生Java操作mysql数据库过程解析
  13. cpu与简单模型机设计实验_180套经典夹具设计方案(附详解+模型),原来夹具设计这么简单!...
  14. java中的并发是什么意思_java中的并发是什么
  15. Android 获取系统签名 并使用系统签名
  16. html设置浮动框架的位置,网页浮动窗口怎么设置 怎么让链接网页在浮动框架中显示...
  17. linux离线安装及配置redis
  18. 陆奇为什么这么值钱? 因为他的原则值钱!
  19. 大专生三面蚂蚁金服,Java中高级核心知识全面解析(7)
  20. 帕慕克给我上的一堂编程学习课

热门文章

  1. Linux(Centos) Python编译安装达梦驱动 dmPython
  2. fastclick.js对input的点击失效!
  3. 暗数据现状堪忧 Splunk给出实现数据驱动的四点建议
  4. pandas DataFrame.fillna()填充缺失函数的使用
  5. 手机信号不好如何解决
  6. 激活Win2008时显示,Error:product not found
  7. SQL Server 2005无法连接问题的解决办法
  8. contos 7新手上路之四:使用与美化
  9. r5 5600g评测
  10. 图片上传三方云服务器,前端主导方案