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中switch case循环实例代码
Dec 30 Javascript
JS生成不重复随机数组的函数代码
Jun 10 Javascript
JQuery实现动态表格点击按钮表格增加一行
Aug 24 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
JavaScript比较两个对象是否相等的方法
Feb 06 Javascript
jquery实现Slide Out Navigation滑出式菜单效果代码
Sep 07 Javascript
jQuery进行组件开发完整实例
Dec 15 Javascript
基于AngularJS+HTML+Groovy实现登录功能
Feb 17 Javascript
浅谈JS中逗号运算符的用法
Jun 12 Javascript
jquery+ajax+text文本框实现智能提示完整实例
Jul 09 Javascript
JavaScript实现自动切换图片代码
Oct 11 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
Mar 09 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新手的一些建议(PHP学习经验总结)
2014/08/20 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
php常用正则函数实例小结
2016/12/29 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
jquery随意添加移除html的实现代码
2011/06/21 Javascript
js 程序执行与顺序实现详解
2013/05/13 Javascript
js创建表单元素并使用submit进行提交
2014/08/14 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
JavaScript实现相册弹窗功能(zepto.js)
2016/06/21 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
微信小程序Server端环境配置详解(SSL, Nginx HTTPS,TLS 1.2 升级)
2017/01/12 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
[01:01:43]EG vs VP 2018国际邀请赛淘汰赛BO3 第二场 8.24
2018/08/25 DOTA
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
python 不以科学计数法输出的方法
2018/07/16 Python
使用Django连接Mysql数据库步骤
2019/01/15 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
python编程进阶之异常处理用法实例分析
2020/02/21 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
Python迭代器协议及for循环工作机制详解
2020/07/14 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
html5 datalist 选中option选项后的触发事件
2020/03/05 HTML / CSS
澳大利亚排名第一的儿童在线玩具商店:Toy Galaxy
2018/10/06 全球购物
空气环保标语
2014/06/12 职场文书
企业标语大全
2014/07/01 职场文书
部门活动策划方案
2014/08/16 职场文书
少先队辅导员事迹材料
2014/12/24 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
房屋维修申请报告
2015/05/18 职场文书
红歌会主持词
2015/07/02 职场文书
Java并发编程之详解CyclicBarrier线程同步
2021/06/23 Java/Android
R9700摩机记
2022/04/05 无线电