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入门教程(8) Location地址对象
Jan 31 Javascript
菜鸟javascript基础资料整理2
Dec 06 Javascript
jquery自定义下拉列表示例
Apr 25 Javascript
jQuery中even选择器的定义和用法
Dec 23 Javascript
轻松学习jQuery插件EasyUI EasyUI实现树形网络基本操作(2)
Nov 30 Javascript
javascript特殊日历控件分享
Mar 07 Javascript
AngularJS使用ng-options指令实现下拉框
Aug 23 Javascript
Angularjs 制作购物车功能实例代码
Sep 14 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
Dec 29 Javascript
vue中axios的封装问题(简易版拦截,get,post)
Jun 15 Javascript
JS实现排行榜文字向上滚动轮播效果
Nov 26 Javascript
javascript实现弹幕墙效果
Nov 28 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技术开发技巧分享
2010/03/23 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
2019/04/09 PHP
JavaScript结合AJAX_stream实现流式显示
2015/01/08 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
浅析Bootstrap验证控件的使用
2016/06/23 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
JS简单实现表格排序功能示例
2016/12/20 Javascript
详解vuex中mapState,mapGetters,mapMutations,mapActions的作用
2018/04/13 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
微信小程序实现上传图片裁剪图片过程解析
2019/08/22 Javascript
javascript设计模式 ? 单例模式原理与应用实例分析
2020/04/09 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
py中的目录与文件判别代码
2008/07/16 Python
python提取页面内url列表的方法
2015/05/25 Python
python爬虫之百度API调用方法
2017/06/11 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
查看python下OpenCV版本的方法
2018/08/03 Python
pytorch打印网络结构的实例
2019/08/19 Python
pytorch 求网络模型参数实例
2019/12/30 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
手把手教你用纯css3实现轮播图效果实例
2017/05/04 HTML / CSS
关于box-sizing的全面理解
2016/07/28 HTML / CSS
飞利浦比利时官方网站:Philips比利时
2016/08/24 全球购物
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
平遥古城导游词
2015/02/03 职场文书
行政司机岗位职责
2015/04/10 职场文书
中学生运动会广播稿
2015/08/19 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
eclipse创建项目没有dynamic web的解决方法
2021/06/24 Java/Android
使用redis实现延迟通知功能(Redis过期键通知)
2021/09/04 Redis