详解vue中this.$emit()的返回值是什么


Posted in Javascript onApril 07, 2019

vue中的三大属性:属性 、事件、插槽,---事件

在事件中有

普通事件:@click/@input/@change/@xxx...事件;

修饰符事件:@input.trim,@click.stop,@submit.prevent...一般用于原生html元素;

答:在vue中this.$emit(); 返回值是this;

代码示例:

在子组件中:Event.vue:接收通过父组件传递过来的props:{name:String} 属性; 在input 标签中:

  1. value=name; 绑定name属性;
  2. 通过@change="handleChange" 普通事件;监听输入框输入值;

在script 标签中:

通过 this.$emit("Echange", e.target.value, val => { console.log(val); }); 通过回调,传递值到父组件;自定义事件“Echange”;

<template>
 <div>
name: {{ name || "--" }}
<br />
<input :value="name" @change="handleChange" />
<br />
<br />
<div @click="handleDivClick">
 <button @click="handleClick">重置成功</button> 
 <button @click.stop="handleClick">重置失败</button>
</div>
 </div>
</template>

<script>
export default {
 name: "EventDemo",
 props: {
name: String
 },
 methods: {
handleChange(e) {
 const res = this.$emit("Echange", e.target.value, val => {
console.log(val);
 });
 console.log(res, res === this);
},
handleDivClick() {
 this.$emit("change", "");
},
handleClick(e) {
 // 都会失败
 e.stopPropagation();
}
 }
};
</script>

在父组件中通过监听子组件事件,对回调做出响应;

父组件可以通过回调函数,callback()向子组件传递一个值;

<template>
 
  <Event :name="name" @Echange="handleEventChange" />
 
 </template>
 
 <script>
 import Event from "./Event";
 
 export default {
  components: {
 Event,
  
  },
  data: () => {
 return {
  name: "",
  
 };
  },
  mounted() {
 
  },
  methods: {
  
 handleEventChange(val, callback) {
  this.name = val;
  callback("hello");
  return "hello";
 }
  }
 };
 </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
简单的jquery左侧导航栏和页面选中效果
Aug 21 Javascript
浅谈javascript 归并方法
Jan 21 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
JS实现点击按钮自动增加一个单元格的方法
Mar 09 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
jQuery选择器特殊字符与属性空格问题
Aug 14 jQuery
ES6中Array.includes()函数的用法
Sep 20 Javascript
详解JavaScript函数callee、call、apply的区别
Mar 08 Javascript
ES6 Promise对象的含义和基本用法分析
Jun 14 Javascript
vue中监听返回键问题
Aug 28 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
浅谈javascript中的prototype和__proto__的理解
Apr 07 #Javascript
javascrit中undefined和null的区别详解
Apr 07 #Javascript
详解服务端预渲染之Nuxt(介绍篇)
Apr 07 #Javascript
vue设计一个倒计时秒杀的组件详解
Apr 06 #Javascript
js字符串处理之绝妙的代码
Apr 05 #Javascript
微信小程序自定义导航栏实例代码
Apr 05 #Javascript
Node.js事件的正确使用方法
Apr 05 #Javascript
You might like
PHP 加密解密内部算法
2010/04/22 PHP
PHP版本升级到7.x后wordpress的一些修改及wordpress技巧
2015/12/25 PHP
才发现的超链接js导致网页中GIF动画停止的解决方法
2007/11/02 Javascript
使用three.js 画渐变的直线
2016/06/05 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
JavaScript省市区三级联动菜单效果
2016/09/21 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
angular中的cookie读写方法
2017/08/02 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
[00:06]Yes,it worked!小卡尔成功穿越时空加入战场!
2019/07/20 DOTA
Python聚类算法之基本K均值实例详解
2015/11/20 Python
python timestamp和datetime之间转换详解
2017/12/11 Python
pytorch: tensor类型的构建与相互转换实例
2018/07/26 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
python实现ip代理池功能示例
2019/07/05 Python
Python模拟登录之滑块验证码的破解(实例代码)
2019/11/18 Python
Python面向对象之继承原理与用法案例分析
2019/12/31 Python
Python文件操作基础流程解析
2020/03/19 Python
解决django FileFIELD的编码问题
2020/03/30 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
美国CVS药店官网:CVS Pharmacy
2018/07/26 全球购物
蔻驰英国官网:COACH英国
2020/07/19 全球购物
西班牙Polo衫品牌:Polo Club
2020/08/09 全球购物
会话Bean的种类
2013/11/07 面试题
教师找工作推荐信
2013/11/23 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
专家推荐信模板
2014/05/09 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
投标承诺函范文
2015/01/21 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
元宵节晚会主持词
2015/07/01 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书