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 相关文章推荐
JavaScript去掉空格的方法集合
Dec 28 Javascript
jquery常用技巧及常用方法列表集合
Apr 06 Javascript
JavaScript定时器详解及实例
Aug 01 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
Javascript 鼠标移动上去 滑块跟随效果代码分享
Nov 23 Javascript
jQuery中closest和parents的区别分析
May 07 Javascript
JS实现常见的TAB、弹出层效果(TAB标签,斑马线,遮罩层等)
Oct 08 Javascript
JavaScript数据结构与算法之链表
Jan 29 Javascript
JavaScript代码实现图片循环滚动效果
Mar 19 Javascript
Javascript基础回顾之(二) js作用域
Jan 31 Javascript
微信小程序城市选择及搜索功能的方法
Mar 22 Javascript
浅谈Angular单元测试总结
Mar 22 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自动获取字符串编码函数mb_detect_encoding
2011/05/31 PHP
php 面试碰到过的问题 在此做下记录
2011/06/09 PHP
php中文字符串截取方法实例总结
2014/09/30 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
JavaScript 事件属性绑定带参数的函数
2009/03/13 Javascript
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
javascript 新浪背投广告实现代码
2009/07/07 Javascript
jquery 插件学习(二)
2012/08/06 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
javascript 构造函数强制调用经验总结
2012/12/02 Javascript
jQuery中hover方法和toggle方法使用指南
2015/02/27 Javascript
究竟什么是Node.js?Node.js有什么好处?
2015/05/29 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
vue倒计时刷新页面不会从头开始的解决方法
2020/03/03 Javascript
vue 实现click同时传入事件对象和自定义参数
2021/01/29 Vue.js
Python中list列表的一些进阶使用方法介绍
2015/08/15 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
浅析python打包工具distutils、setuptools
2018/04/20 Python
Python抽象和自定义类定义与用法示例
2018/08/23 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python中如何导入类示例详解
2019/04/17 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
python 实现目录复制的三种小结
2019/12/04 Python
tensorflow模型的save与restore,及checkpoint中读取变量方式
2020/05/26 Python
python 实现控制鼠标键盘
2020/11/27 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
使用HTML5原生对话框元素并轻松创建模态框组件
2019/03/06 HTML / CSS
手对手的教你用canvas画一个简单的海报的方法示例
2018/12/10 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
个人工作保证书
2015/02/28 职场文书
加薪申请书应该这样写!
2019/07/04 职场文书
来探秘“德国中小企业”的成功之道
2019/07/26 职场文书
Mysql Show Profile
2021/04/05 MySQL