详解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 相关文章推荐
javascript call和apply方法
Nov 24 Javascript
js获取html参数及向swf传递参数应用介绍
Feb 18 Javascript
Backbone.js框架中简单的View视图编写学习笔记
Feb 14 Javascript
你所未知的3种Node.js代码优化方式
Feb 25 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
微信小程序 设置启动页面的两种方法
Mar 09 Javascript
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
js 索引下标之li集合绑定点击事件
Jan 12 Javascript
解决jquery的ajax调取后端数据成功却渲染失败的问题
Aug 08 jQuery
JQuery特殊效果和链式调用操作示例
May 13 jQuery
react 生命周期实例分析
May 18 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 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面向对象全攻略 (八)重载新的方法
2009/09/30 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
微信公众平台消息接口校验与消息接口响应实例
2014/12/23 PHP
php实现倒计时效果
2015/12/19 PHP
分享一个漂亮的php验证码类
2016/09/29 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
JavaScript 事件系统
2010/07/22 Javascript
jQuery 操作option的实现代码
2011/03/03 Javascript
ajax更新数据后,jquery、jq失效问题
2011/03/16 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
JavaScript判断对象是否为数组
2015/12/22 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
ES6概念 Symbol.keyFor()方法
2016/12/25 Javascript
一篇文章搞定JavaScript类型转换(面试常见)
2017/01/21 Javascript
ejsExcel模板在Vue.js项目中的实际运用
2018/01/27 Javascript
js+html实现点名系统功能
2019/11/05 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
用Python配平化学方程式的方法
2019/07/20 Python
HTML页面中添加Canvas标签示例
2015/01/01 HTML / CSS
英国儿童家具专卖店:GLTC
2016/09/24 全球购物
单身旅行者的单身假期:Just You
2018/04/08 全球购物
台湾良兴购物网:EcLife
2019/12/01 全球购物
在SQL Server中创建数据库主要有那种方式
2013/09/10 面试题
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
说明书范文
2014/05/07 职场文书
语文教研活动总结
2014/07/02 职场文书
学校四风对照检查材料
2014/08/28 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
计划生育个人总结
2015/03/02 职场文书
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL