关于vue自定义事件中,传递参数的一点理解
例如有如下场景
<!-- 父组件 -->
<template><div><!--我们想在这个dealName的方法中传递额外参数name --><test-son v-for="item in list" @dealName="todo(item.name, arguments)" :item="item"></test-son></div>
</template><script>export default {name: 'test-p',data() {return {list: [{name: '小王'}, {name: '小刚'}]}},methods: {todo(name, data) {console.log(name);console.log(data)}}}
</script>
<!-- 子组件 -->
<template><div><button @click="sendData">发射{{item.name}}</button></div>
</template><script>export default {name: 'test-s',props: ['item'],methods: {sendData() {this.$emit('dealName', '王老吉');}}}
</script>当我们点击子组件button的时候就会打印对应的 xxx, 王老吉
接下来分析一下上述代码运作原理。
在vue官网上面有个在线模板编译
当我们给模板上的自定义事件添加额外参数的时候,我们的绑定函数就会被包裹上一层代码,function($event){xxx}
上述函数在子组件中emit的时候被调用,可以理解为 var dealName = function($event){xxx}
dealName.apply(vm, args);这其中由于事件函数在初始化的时候就进行了bind,所以在函数中this指向的是父组件的实例,而args则是$emit中传递的参数,所以在父组件中模板中通过argumens可以获取所有子组件emit的参数
关于vue自定义事件中,传递参数的一点理解相关推荐
- [vue] vue自定义事件中父组件怎么接收子组件的多个参数?
[vue] vue自定义事件中父组件怎么接收子组件的多个参数? 子组件传递多个参数,父组件用展开运算符获取 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很容易, 但坚持一定很酷.欢迎大家一起 ...
- vue 点击事件传递多个参数_Vue子组件监听事件中传递参数的方法
在子组件中,我们可以通过以下方式监听事件: v-on:click="$emit('funcName',a)" 如果需要传多个参数,可以通过以下方式: v-on:click=&quo ...
- vue 自定义事件 传入额外参数
<div @click="myClick">我是子组件内容<div>//子组件自定义事件 myClick(){this.emit("childCl ...
- vue 事件调用 传参_Vue 事件如何传递参数?
Vue 事件如何传递参数? 事件函数参数传递: 普通参数和事件对象传递格式如下: 调用函数传参 点秋香 vue事件绑定-参数传递实例如下: vue事件绑定-参数传递 xinbiancheng.cn { ...
- 浅谈Vue 自定义事件——原理及用法
前言 在Vue 中,对HTML的原生事件做了支持.例如:click.focus.change等事件.除了原生事件外,Vue 还允许用户自定义事件. 什么是事件?什么是自定义事件? 在了解自定义事件前, ...
- jQuery事件之传递参数
jQuery事件之传递参数 转载▼ 我们经常使用jQuery中给DOM元素绑定事件来执行一些动态的功能,但是很少有人知道在jQuery中是如何来给DOM元素传递参数以及如何绑定自己定义的事件. ...
- php 小程序页面传参,介绍小程序中传递参数的实现方法
这篇文章主要介绍了微信小程序 参数传递详解的相关资料,需要的朋友可以参考下 微信小程序的推出,无疑将会在移动互联网行业里再次掀起风浪. 有人会质疑小程序会不会火, 会不会火我不知道, 看微信的用户量即 ...
- 逆战Vue自定义事件
示例代码和demo: Vue.component('button-counter', {template: '<button v-on:click="increment"&g ...
- 解决JS在url中传递参数时参数包含中文乱码的问题
解决JS在url中传递参数时参数包含中文乱码的问题 参考文章: (1)解决JS在url中传递参数时参数包含中文乱码的问题 (2)https://www.cnblogs.com/xushengguan/ ...
- 在setInterval函数中传递参数
本文翻译自:Pass parameters in setInterval function Please advise how to pass parameters into a function c ...
最新文章
- 一份忧伤的大厂生存百科
- (chap2 简单的Http协议) 请求报文和响应报文
- edge无法上网dns_如何在Microsoft Edge中通过HTTPS启用DNS
- Java Socke 探究
- python十个一行_python 如何将一系列数字十个一行输出
- 汇编语言---乘法指令及符号扩展
- Pandas 通用方法
- OpenTSDB安装
- mysql varchar255 知乎_CHAR与VARCHAR详解
- biggan:large scale gan training for high fidelity natural image synthesis
- 深圳市城中村有哪些,在哪里?请知道的朋友告知,谢谢了!
- HTML网页设计结课作业 榆林子州 HTML5响应式旅游景区网站模板
- 查看alexa世界排名
- 【EasyUI篇】TreeGrid树表格组件
- Greenplum 优化 - 分布式键,重建索引,序列
- 自己计算机的网络密码,怎么知道自己宽带上网的用户名密码,我打开电脑就能直接上网。...
- 计算机软件添加信任,瑞星杀毒怎么添加信任软件 添加方法介绍
- 彩色空间(Color Space)
- 【嵌入式Linux应用开发】设计温湿度采集MCU子系统
- 前端开发面试快速复盘,不标准的面试经验分享与杂谈(终章),我拿到满意offer了
热门文章
- STM8S——watchdog(IWDG)
- 326.是否为3的平方根 IsPowerOfThree
- MySoft.Data入门篇:编写业务逻辑
- Mac 顶部栏显示路径
- 升级Xcode8后需要添加的一些权限
- Java调用MQ队列
- 用ASP.NET刷新页面的几种有效方法
- Report Service 为用户“NT AUTHORITY、NETWORK SERVICE”授予的权限不足,无法进行此操作。(rsAccessDenied)处理...
- C#操作十六进制数据以及十进制与十六进制互相转换
- go语言渐入佳境[10]-function