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语言本身谈项目实战
Dec 27 Javascript
js 判断checkbox是否选中的操作方法
Nov 09 Javascript
js获取height和width的方法说明
Jan 06 Javascript
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
详解javascript中的事件处理
Nov 06 Javascript
js的三种继承方式详解
Jan 21 Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 Javascript
详解JavaScript中的强制类型转换
Apr 15 Javascript
vue element upload实现图片本地预览
Aug 20 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
Nov 26 Javascript
如何使用vue slot创建一个模态框的实例代码
May 24 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
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
个人总结的一些关于String、Function、Array的属性和用法
2007/01/10 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
JS delegate与live浅析
2013/12/21 Javascript
解析jQuery的三种bind/One/Live事件绑定使用方法
2013/12/30 Javascript
JavaScript中的函数的两种定义方式和函数变量赋值
2014/05/12 Javascript
基于jQuery通过jQuery.form.js插件使用ajax提交form表单
2015/08/17 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
AngularJS中的DOM操作用法分析
2016/11/04 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
微信小程序中用WebStorm使用LESS
2017/03/08 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
以v-model与promise两种方式实现vue弹窗组件
2018/05/21 Javascript
浅谈JS中this在各个场景下的指向
2019/08/14 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
vue-cli设置css不生效的解决方法
2020/02/07 Javascript
深入理解 ES6中的 Reflect用法
2020/07/18 Javascript
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
python字符串,数值计算
2016/10/05 Python
Python 函数基础知识汇总
2018/03/09 Python
Python关于excel和shp的使用在matplotlib
2019/01/03 Python
python使用pymongo与MongoDB基本交互操作示例
2020/04/09 Python
Django的ListView超详细用法(含分页paginate)
2020/05/21 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
HTML5 Canvas标签使用收录
2009/07/07 HTML / CSS
HTML5新特性之type=file文件上传功能
2018/02/02 HTML / CSS
巴塞罗那观光通票:Barcelona Pass
2019/10/30 全球购物
大一新生军训时的自我评价分享
2013/12/05 职场文书
初婚未育证明
2014/01/15 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
《折线统计图》教学反思
2016/02/22 职场文书