对vue.js中this.$emit的深入理解


Posted in Javascript onFebruary 23, 2018

对于vue.js中的this.emit的理解:this.emit(‘increment1',”这个位子是可以加参数的”);其实它的作用就是触发自定义函数。

看例子:

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title></title>
</head>
<script src="vue.js"></script>
<body>
<div id="counter-event-example">
 <p>{{ total }}</p>
 <button-counter v-on:increment1="incrementTotal1"></button-counter>
 <button-counter v-on:increment2="incrementTotal2"></button-counter>
</div>
</body>
<script>
 Vue.component('button-counter', {
 template: '<button v-on:click="increment">{{ counter }}</button>',
 data: function () {
  return {
  counter: 0
  }
 },
 methods: {
  increment: function () {
  this.counter += 1;
  this.$emit('increment1',"这个位子是可以加参数的");//触发自定义increment1的函数。此处的increment1函数就是 incrementTotal1函数。
//  this.$emit('increment2'); //此时不会触发自定义increment2的函数。
  }
 }
 });
 new Vue({
 el: '#counter-event-example',
 data: {
  total: 0
 },
 methods: {
  incrementTotal1: function (e) {
  this.total += 1;
  console.log(e);
  },
  incrementTotal2: function () {
  this.total += 1;
  }
 }
 })
</script>
</html>

对上面的例子进行进一步的解析:

1、首先看 自定组件button-counter ,给其绑定了方法 :increment;

2、点击button时会执行函数 increment,increment中有 this.$emit(‘increment1',”这个位子是可以加参数的”);

3、当increment执行时,就会触发自定函数increment1,也就是incrementTotal1函数;

4、而increment执行时没有触发自定义函数increment2,所以点击第二个按钮不执行incrementTotal2的函数。

以上这篇对vue.js中this.$emit的深入理解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
使用原生javascript创建通用表单验证——更锋利的使用dom对象
Sep 13 Javascript
JS中不为人知的五种声明Number的方式简要概述
Feb 22 Javascript
jquery获取radio值实例
Oct 16 Javascript
jQuery中prepend()方法用法实例
Dec 25 Javascript
JavaScript判断FileUpload控件上传文件类型
Sep 28 Javascript
理解javascript正则表达式
Mar 08 Javascript
Boostrap基础教程之JavaScript插件篇
Sep 08 Javascript
js时间戳和c#时间戳互转方法(推荐)
Feb 15 Javascript
AngularJS日程表案例详解
Aug 15 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
Vue源码解析之Template转化为AST的实现方法
Dec 14 Javascript
JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)
Feb 03 Javascript
基于vue.js中事件修饰符.self的用法(详解)
Feb 23 #Javascript
vue.js2.0点击获取自己的属性和jquery方法
Feb 23 #jQuery
vue中动态绑定表单元素的属性方法
Feb 23 #Javascript
Vue之Vue.set动态新增对象属性方法
Feb 23 #Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
Feb 23 #Javascript
Vue实现带进度条的文件拖动上传功能
Feb 23 #Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
Feb 23 #Javascript
You might like
PHP5中虚函数的实现方法分享
2011/04/20 PHP
php中\r \r\n \t的区别示例介绍
2014/02/08 PHP
培养自己的php编码规范
2015/09/28 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
Jquery AJAX 用于计算点击率(统计)
2010/06/30 Javascript
node.js入门教程
2014/06/01 Javascript
微信内置浏览器私有接口WeixinJSBridge介绍
2015/05/25 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
利用策略模式与装饰模式扩展JavaScript表单验证功能
2017/02/14 Javascript
微信小程序 Nginx环境配置详细介绍
2017/02/14 Javascript
JavaScript禁止微信浏览器下拉回弹效果
2017/05/16 Javascript
Nuxt配合Node在实际生产中的应用详解
2018/08/07 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
webpack proxy 使用(代理的使用)
2020/01/10 Javascript
vue实现五子棋游戏
2020/05/28 Javascript
Python获取文件ssdeep值的方法
2014/10/05 Python
Python中操作文件之write()方法的使用教程
2015/05/25 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
Python 统计位数为偶数的数字代码详解
2020/03/15 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
SQL Server提供的3种恢复模型都是什么? 有什么区别?
2012/05/13 面试题
中学生在校期间的自我评价分享
2013/11/13 职场文书
招聘单位介绍信
2014/01/14 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
法人委托书的范本格式
2014/09/11 职场文书
2015年置业顾问工作总结
2015/04/07 职场文书
2015年惩防体系建设工作总结
2015/05/22 职场文书
2015年挂职锻炼个人总结
2015/10/22 职场文书
如何在Python项目中引入日志
2021/05/31 Python
JavaScript实例 ODO List分析
2022/01/22 Javascript
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android