VUE子组件向父组件传值详解(含传多值及添加额外参数场景)


Posted in Javascript onSeptember 01, 2020

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

子组件:

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子组件向父组件传值内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
Google AJAX 搜索 API实现代码
Nov 17 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
Apr 07 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
详细解读AngularJS中的表单验证编程
Jun 19 Javascript
JavaScript使用readAsDataUrl方法预览图片
May 10 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
Aug 04 Javascript
利用百度地图API获取当前位置信息的实例
Nov 06 Javascript
微信小程序利用云函数获取手机号码
Dec 17 Javascript
小程序开发之模态框组件封装
Apr 23 Javascript
openlayers实现地图弹窗
Sep 25 Javascript
微信小程序实现自定义动画弹框/提示框的方法实例
Nov 06 Javascript
vue离开当前页面触发的函数代码
Sep 01 #Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
Sep 01 #Javascript
Node.js web 应用如何封装到Docker容器中
Sep 01 #Javascript
Vue中关闭弹窗组件时销毁并隐藏操作
Sep 01 #Javascript
Vue 使用typescript如何优雅的调用swagger API
Sep 01 #Javascript
vue路由切换时取消之前的所有请求操作
Sep 01 #Javascript
jQuery实现动态加载瀑布流
Sep 01 #jQuery
You might like
如何在PHP程序中防止盗链
2008/04/09 PHP
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
php正则校验用户名介绍
2008/07/19 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
js trim函数 去空格函数与正则集锦
2009/11/20 Javascript
flexigrid 类似ext grid的JS表格代码
2010/07/17 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
2015/03/26 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
AngularJS通过ng-route实现基本的路由功能实例详解
2016/12/13 Javascript
jQuery实用密码强度检测
2017/03/02 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
JS实现商品筛选功能
2020/08/19 Javascript
基于js 本地存储(详解)
2017/08/16 Javascript
JavaScript引用类型Function实例详解
2018/08/09 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
vue-router重定向和路由别名的使用讲解
2019/01/19 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
Python实现的下载8000首儿歌的代码分享
2014/11/21 Python
Python中一些自然语言工具的使用的入门教程
2015/04/13 Python
Python语言实现机器学习的K-近邻算法
2015/06/11 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
django框架ModelForm组件用法详解
2019/12/11 Python
利用python在excel中画图的实现方法
2020/03/17 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
html5画布旋转效果示例
2014/01/27 HTML / CSS
医科大学毕业生自荐信
2014/02/03 职场文书
知名企业招聘广告词大全
2014/03/18 职场文书
莫言诺贝尔获奖演讲稿
2014/05/21 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
财产保全担保书
2015/01/20 职场文书
学校实习推荐信
2015/03/27 职场文书
使用canvas实现雪花飘动效果的示例代码
2021/03/30 HTML / CSS