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 相关文章推荐
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
js控制不同的时间段显示不同的css样式的实例代码
Nov 04 Javascript
JS中判断JSON数据是否存在某字段的方法
Mar 07 Javascript
javascript中的事件代理初探
Mar 08 Javascript
浅析AngularJs HTTP响应拦截器
Dec 28 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
May 28 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
Nov 19 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
原生js实现随机点餐效果
Dec 10 Javascript
vue实现输入框自动跳转功能
May 20 Javascript
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
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 获取目录下的图片并随机显示的代码
2009/12/28 PHP
php empty函数判断mysql表单是否为空
2010/04/12 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
php文件缓存方法总结
2016/03/16 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
PHP实现打包下载文件的方法示例
2017/10/07 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
JavaScript中双叹号(!!)作用示例介绍
2014/04/10 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
vue devtools的安装与使用教程
2018/08/08 Javascript
浅谈Javascript中的对象和继承
2019/04/19 Javascript
Javascript实现鼠标移入方向感知
2020/06/24 Javascript
[43:43]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第一场 11.22
2020/11/24 DOTA
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python编程实现粒子群算法(PSO)详解
2017/11/13 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
Django通过dwebsocket实现websocket的例子
2019/11/15 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
python环境下安装opencv库的方法
2020/03/05 Python
浅谈Python中range与Numpy中arange的比较
2020/03/11 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
python 实现socket服务端并发的四种方式
2020/12/14 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
俄罗斯在线手表和珠宝商店:AllTime
2019/09/28 全球购物
毕业生物理教师求职信
2013/10/17 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
烹饪大赛策划方案
2014/05/26 职场文书
学校三节实施方案
2014/06/09 职场文书
关于有小孩的离婚协议书
2014/10/26 职场文书
试用期旷工辞退通知书
2015/04/17 职场文书
《观察物体》教学反思
2016/02/17 职场文书
Python中requests做接口测试的方法
2021/05/30 Python