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 相关文章推荐
基于jquery完美拖拽,可返回拖动轨迹
Mar 29 Javascript
js实现倒计时(距离结束还有)示例代码
Jul 24 Javascript
js数组操作学习总结
Nov 04 Javascript
jQuery 选择器详解
Jan 19 Javascript
[原创]Bootstrap 中下拉菜单修改成鼠标悬停直接显示
Apr 14 Javascript
React 组件间的通信示例
Jun 14 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
在vue中读取本地Json文件的方法
Sep 06 Javascript
JS实现图片拖拽交换效果
Nov 30 Javascript
vue+echarts实现可拖动节点的折线图(支持拖动方向和上下限的设置)
Apr 12 Javascript
jquery实现购物车基本功能
Oct 25 jQuery
详解Node.js如何处理ES6模块
May 15 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获取指定函数定义在哪个文件中以及其所在的行号实例
2014/05/08 PHP
PHP模板解析类实例
2015/07/09 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
JavaScript函数柯里化详解
2016/04/29 Javascript
jQuery模仿阿里云购买服务器选择购买时间长度的代码
2016/04/29 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
Vue.js实现可配置的登录表单代码详解
2018/03/29 Javascript
微信小程序如何实现全局重新加载
2019/06/05 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
[01:03:13]VG vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python中迭代器(iterator)用法实例分析
2015/04/29 Python
Python中使用items()方法返回字典元素对的教程
2015/05/21 Python
Python使用turtule画五角星的方法
2015/07/09 Python
基于Python Shell获取hostname和fqdn释疑
2016/01/25 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
Django Serializer HiddenField隐藏字段实例
2020/03/31 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
2020/05/10 Python
Python通过kerberos安全认证操作kafka方式
2020/06/06 Python
10个很棒的 CSS3 开发工具 推荐
2011/05/16 HTML / CSS
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
你经历的项目中的SCM配置项主要有哪些?什么是配置项?
2013/11/04 面试题
工商管理实习自我鉴定
2013/09/28 职场文书
安全生产先进个人材料
2014/02/06 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
五年级学生评语大全
2014/12/26 职场文书
消防验收申请报告
2015/05/15 职场文书
庆祝教师节新闻稿
2015/07/17 职场文书
2016秋季运动会开幕词
2016/03/04 职场文书