vue子组件使用自定义事件向父组件传递数据


Posted in Javascript onMay 27, 2017

使用v-on绑定自定义事件可以让子组件向父组件传递数据,用到了this.$emit(‘自定义的事件名称',传递给父组件的数据)

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Title</title>
 <script src="../js/vue.js"></script>
</head>
<body>
<div id="app">
<parent-component></parent-component>
</div>
<template id="parent-component">
<div>
 <p>总数是{{total}}</p>
 <child-component @increment="incrementTotal"></child-component>
 <!--@increment是子组件this.$emit('increment'自定义的事件用来告诉父组件自己干了什么事
 然后会触发父子间incrementTotal的方法来更新父组件的内容)-->
</div>
</template>
<template id="child-component">
 <button @click="increment()">{{mycounter}}</button>
</template>
<script>
 var child=Vue.extend({
  template:"#child-component",
  data:function () {
   return {
    mycounter:0
   }
  },
  methods:{
   increment:function(){
    this.mycounter=10;
    this.$emit("increment",this.mycounter);//把this.mycounter传递给父组件
   }
  }
 })
 var parent=Vue.extend({
  data:function () {
   return {
    total:0
   }
  },
  methods:{
   incrementTotal:function(newValue){
    this.total+=newValue;
   }
  },
  template:"#parent-component",
  components:{
   'child-component':child
  }
 })
 var vm=new Vue({
  el:"#app",
  components:{
   'parent-component':parent
  }
 })
</script>
</body>
</html>

@increment是子组件this.$emit('increment'自定义的事件,newValue)用来告诉父组件自己干了什么事

同时还可以传递新的数据给父组件

然后会触发父子间incrementTotal的方法来更新父组件的内容)。

这里需要注意几个点:

1.

vue子组件使用自定义事件向父组件传递数据

图中红色圈中的部分是对应的,子组件在自己的methods方法里面写自己的事件实现,然后再父组件里面写字组件时给子组件绑定上methods方法里面的

事件名称,要一一对应

vue子组件使用自定义事件向父组件传递数据

这里自定义事件里面的要写父组件的方法名,父组件里面定义该方法。

vue子组件使用自定义事件向父组件传递数据

父组件里面的方法可以接收子组件this.$emit('increment',this.mycounter);传递过来的数值:this.mycounter,

到父组件的方法里面就是newValue参数,这样就实现了子组件向父组件传递数据

以上所述是小编给大家介绍的vue子组件使用自定义事件向父组件传递数据,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
js实现div的切换特效上一个下一个
Feb 11 Javascript
javascript伸缩型菜单实现代码
Nov 16 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
Mar 07 Javascript
HTML5 实现的一个俄罗斯方块实例代码
Sep 19 Javascript
js日期相关函数dateAdd,dateDiff,dateFormat等介绍
Sep 24 Javascript
快速掌握jQuery插件WebUploader文件上传
Nov 07 Javascript
Bootstrap实现的经典栅格布局效果实例【附demo源码】
Mar 30 Javascript
vue.js+Echarts开发图表放大缩小功能实例
Jun 09 Javascript
vue组件 $children,$refs,$parent的使用详解
Jul 31 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
Aug 10 Javascript
Javascript 关于基本类型和引用类型的个人理解
Nov 01 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 Javascript
javascript回调函数的概念理解与用法分析
May 27 #Javascript
原生JavaScript实现的简单省市县三级联动功能示例
May 27 #Javascript
原生JavaScript实现精美的淘宝轮播图效果示例【附demo源码下载】
May 27 #Javascript
详细讲解vue2+vuex+axios
May 27 #Javascript
AngularJS获取json数据的方法详解
May 27 #Javascript
vue中用H5实现文件上传的方法实例代码
May 27 #Javascript
详解vue2.0脚手架的webpack 配置文件分析
May 27 #Javascript
You might like
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
PHP两个n位的二进制整数相加问题的解决
2018/08/26 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
MSN消息提示类
2006/09/05 Javascript
json 实例详细说明教程
2009/10/31 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
jquery remove方法应用详解
2012/11/22 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
bootstrap multiselect下拉列表功能
2017/08/22 Javascript
基于js 字符串indexof与search方法的区别(详解)
2017/12/04 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
30分钟精通React今年最劲爆的新特性——React Hooks
2019/03/11 Javascript
JavaScript实现页面中录音功能的方法
2019/06/04 Javascript
基于javascript实现贪吃蛇经典小游戏
2020/04/10 Javascript
[55:02]2014 DOTA2国际邀请赛中国区预选赛 HGT VS Orenda
2014/05/21 DOTA
[02:07]TI9显影之尘系列 - Vici Gaming
2019/08/20 DOTA
Python复数属性和方法运算操作示例
2017/07/21 Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
2018/04/28 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
django mysql数据库及图片上传接口详解
2019/07/18 Python
python中自带的三个装饰器的实现
2019/11/08 Python
浅析Python迭代器的高级用法
2020/07/16 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
2021/02/22 Python
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
解释DataSet(ds) 和 ds as DataSet 的含义
2014/07/27 面试题
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
师说教学反思
2014/02/07 职场文书
绿色环保标语
2014/06/12 职场文书
2014年会计人员工作总结
2014/12/10 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android