VUE 子组件向父组件传值(含传多值以及添加额外参数场景)
一、子组件向父组件传递一个值
子组件:
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 子组件向父组件传值(含传多值以及添加额外参数场景)相关推荐
- VUE:父子组件间传参、子组件传值给父组件、父组件传值给子组件
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Vue是一个轻量级的渐进式框架,对于它的一些特性和优点在此就不做赘述,本篇文章主要来探讨一下Vue子 ...
- (25)Vue.js组件通信—父组件向子组件传值
一.Vue.js组件通信介绍 子组件如何获取父组件中的数据?父组件如何得知子组件的数据变更?如果是更加复杂的组件关系呢?在组件间传递数据的操作,称为组件通信. 二.Vue.js组件通信内容 • 父组件 ...
- vue 子组件给父组件传值
vue通信之子组件给父组件传值 子组件给父组件传值背景一般是子组件中某一事件之后,得到的某一状态或者是值,想要通知父组件改变. 通过自定义事件传值. 子组件: <Button type=&quo ...
- Vue学习--子组件向父组件传值
Vue–子组件向父组件传值 //子组件 <template><div id="foot"><li @click="point(1)" ...
- Vue.js 父组件向子组件传值和子组件向父组件传值
父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script>// 创建 Vue 实例,得到 ViewModelvar vm = new ...
- ⒒ Vue子组件向父组件传值
组件之间传值 父组件向子组件传值使用props,参考:父组件向子组件传值! 子组件向父组件传值,主要是以下三个步骤组成: 在子组件中自定义一个事件,使用 this.$emit('btn-click', ...
- vue 组件间的通信,子组件向父组件传值的方式总结
写vue,如果页面涉及到多个组件,就会涉及组件之间的通信,可能是父子组件间的通信,也可以是同级组件间的通信,那么,vue里面的组件如何通信.一般来说在vue的数据传递是在父组件传子组件通过属性来传,子 ...
- vue子组件向父组件传值的方法
子组件向父组件,使用$emit方法,demo: 子组件的代码: <template><div><h1>this is child component</h1& ...
- Vue 父子组件传值 之 子组件向父组件传值
所谓的子组件向父组件传值,实际上用的是事件映射,事件映射其实相当于自定义了一个事件 第一个参数是自定义(映射)事件的名称 第二个参数是要携带的参数 在子组件中,首先需要使用$emit方法,该方 ...
最新文章
- hdu4810 Cn中取i异或和
- V4L2框架分析学习
- php调用函数的变量,从内PHP函数调用的变量在外部函数使用
- boost的chrono模块线程时钟的测试程序
- Linux mysql生成不了随机密码,用MySQL 生成随机密码
- Unity 新手入门 如何理解协程 IEnumerator yield
- 使用Stream.peek在Java Streams内部进行窥视
- centos5.3安装vmware
- 库存产品日期查询功能sql优化
- pythonfor循环例句_Python for 循环语句
- OpenShift Security (3) - 准备客户端环境和演示应用
- java 读取mysql数据库_原生Java操作mysql数据库过程解析
- cpu与简单模型机设计实验_180套经典夹具设计方案(附详解+模型),原来夹具设计这么简单!...
- java中的并发是什么意思_java中的并发是什么
- Android 获取系统签名 并使用系统签名
- html设置浮动框架的位置,网页浮动窗口怎么设置 怎么让链接网页在浮动框架中显示...
- linux离线安装及配置redis
- 陆奇为什么这么值钱? 因为他的原则值钱!
- 大专生三面蚂蚁金服,Java中高级核心知识全面解析(7)
- 帕慕克给我上的一堂编程学习课