详解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实例教程(19) 使用HoTMetal(3)
Dec 23 Javascript
JavaScript 面向对象之命名空间
May 04 Javascript
jQuery代码实现对话框右上角菜单带关闭×
May 03 Javascript
js实现图片粘贴上传到服务器并展示的实例
Nov 08 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
Sep 16 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
Apr 19 Javascript
vue-cli3添加模式配置多环境变量的方法
Jun 05 Javascript
在微信小程序中使用vant的方法
Jun 07 Javascript
javascript实现智能手环时间显示
Sep 18 Javascript
如何利用vue实现波谱拟合详解
Nov 05 Javascript
如何在JavaScript中等分数组的实现
Dec 13 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/07/20 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
PHP准确取得服务器IP地址的方法
2015/06/02 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
CodeIgniter整合Smarty的方法详解
2017/08/25 PHP
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
基于jquery的可多选的下拉列表框
2012/07/20 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
JS中如何判断传过来的JSON数据中是否存在某字段
2014/08/18 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
原生Javascript插件开发实践
2017/01/09 Javascript
jQuery表格(Table)基本操作实例分析
2017/03/10 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
vue实现点击当前标签高亮效果【推荐】
2018/06/22 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Vue实现购物小球抛物线的方法实例
2020/11/22 Vue.js
[03:07]2015国际邀请赛选手档案EHOME.rOtK 是什么让他落泪?
2015/07/31 DOTA
浅谈Python中的数据类型
2015/05/05 Python
Python使用filetype精确判断文件类型
2017/07/02 Python
Python字符串拼接的几种方法整理
2017/08/02 Python
使用python装饰器计算函数运行时间的实例
2018/04/21 Python
python multiprocessing多进程变量共享与加锁的实现
2019/10/02 Python
html5跨域通讯之postMessage的用法总结
2013/11/07 HTML / CSS
俄罗斯最大的在线珠宝大卖场:Nebo
2019/12/08 全球购物
护理人员的自我评价分享
2014/03/15 职场文书
计算机求职自荐信范文
2014/04/19 职场文书
机械工程师岗位职责
2014/06/16 职场文书
学习教师敬业奉献模范事迹材料思想汇报
2014/09/19 职场文书
2014年化验室工作总结
2014/11/21 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
领导参观欢迎词
2015/01/26 职场文书
大学生学年个人总结
2015/02/15 职场文书
党支部书记岗位职责
2015/02/15 职场文书
怀孕辞职信怎么写
2015/02/28 职场文书
pytorch常用数据类型所占字节数对照表一览
2021/05/17 Python