Vue $emit()不能触发父组件方法的原因及解决


Posted in Javascript onJuly 28, 2020

$emit传入的事件名称只能使用小写,不能使用大写的驼峰规则命名

如果修改后还是不行的话,就改用:

this.$parent.Event (Event为父组件中的自定义方法)

补充知识:Vue.js 使用 $emit 触发事件填坑

vue的组件内触发外部事件不起作用

vue的组件内触发自定义事件(发外部事件)不起作用

今天学习vue的自定义组件功能,在组件内部触发一个事件,在使用组件的地方使用v-on绑定这个事件,然而触发一直不生效,检查了很多遍的代码都没看出什么问题,代码如下:

<div id="app">
 <button v-on:click="IncrHandle">增加</button>
 <input v-model="total" placeholder="请输入内容" />
 <child v-bind:count="total" v-on:onIncr="IncrHandle"></child>
</div>
Vue.component("child",{
 props:['count'],
 template:"<button v-on:click='incr'>增加{{count}}</button>",
 data: function(){
 return {
  count: 0
 }
 },
 methods:{
 incr: function(){
  this.$emit('onIncr')
  this.count += 1
 }
 }
})
new Vue({
 el:"#app",
 data:{
 total: 0
 },
 methods:{
 IncrHandle:function(){
  this.total += 1
  total("增加1")
 },
 DncrHandle:function(){
  this.total -= 1
 }
 }
})

经过无数的验证,终于找到了解决办法:

保证待传递的事件名称为纯小写。不可以使用驼峰j格式。

即:

将v-on:onIncr改为v-on:onincr,将this.emit(′onIncr′)改为this.emit('onIncr')改为this.emit( ′ onIncr ′ )

改为this.emit(‘onincr')

以上这篇Vue $emit()不能触发父组件方法的原因及解决就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
Nov 28 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
js实现仿Discuz文本框弹出层效果
Aug 13 Javascript
Uploadify上传文件方法
Mar 16 Javascript
jQuery获取select选中的option的value值实现方法
Aug 29 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
Sep 09 Javascript
浅谈js之字面量、对象字面量的访问、关键字in的用法
Nov 20 Javascript
源码分析Vue.js的监听实现教程
Apr 23 Javascript
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
taro开发微信小程序的实践
May 21 Javascript
关于layui时间回显问题的解决方法
Sep 24 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 Javascript
vue 遮罩层阻止默认滚动事件操作
Jul 28 #Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 #Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 #Javascript
vue中touch和click共存的解决方式
Jul 28 #Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
Jul 28 #Javascript
JavaScript中window和document用法详解
Jul 28 #Javascript
vue中echarts引入中国地图的案例
Jul 28 #Javascript
You might like
PHP中根据IP地址判断城市实现城市切换或跳转代码
2012/09/04 PHP
PHP四大安全策略
2014/03/12 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
PHP递归调用数组值并用其执行指定函数的方法
2015/04/01 PHP
用js计算页面执行时间的函数
2006/12/07 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
js如何改变文章的字体大小
2016/01/08 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
微信小程序开发实战教程之手势解锁
2016/11/18 Javascript
Vue学习笔记进阶篇之多元素及多组件过渡
2017/07/19 Javascript
javascript 面向对象实战思想分享
2017/09/07 Javascript
vue.js实现插入数值与表达式的方法分析
2018/07/06 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
python动态监控日志内容的示例
2014/02/16 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
python打印n位数“水仙花数”(实例代码)
2019/12/25 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
高级Java程序员面试要点
2013/08/02 面试题
final, finally, finalize的区别
2012/03/01 面试题
环境工程大学生自荐信
2013/10/21 职场文书
校园安全标语
2014/06/07 职场文书
工厂仓管员岗位职责范本
2014/07/17 职场文书
家庭贫困证明范本(经典版)
2014/09/22 职场文书
群众路线教育实践活动整改方案(个人版)
2014/10/25 职场文书
公路施工安全责任书
2015/05/08 职场文书
2015年控辍保学工作总结
2015/05/18 职场文书
教师节班会开场白
2015/06/01 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
golang 定时任务方面time.Sleep和time.Tick的优劣对比分析
2021/05/05 Golang
ubuntu端向日葵键盘输入卡顿问题及解决
2022/12/24 Servers