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 相关文章推荐
Google Map Api和GOOGLE Search Api整合实现代码
Jul 18 Javascript
DWZ刷新dialog解决方法
Mar 03 Javascript
JQuery设置文本框和密码框得到焦点时的样式
Aug 30 Javascript
jQuery设置div一直在页面顶部显示的方法
Oct 24 Javascript
JavaScript 事件入门知识
Apr 13 Javascript
jQuery插件HighCharts实现2D柱状图、折线图的组合多轴图效果示例【附demo源码下载】
Mar 09 Javascript
浅谈使用React.setState需要注意的三点
Dec 18 Javascript
zTree树形菜单交互选项卡效果的实现方法
Dec 25 Javascript
Vue不能观察到数组length的变化
Jun 08 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 Javascript
extjs图形绘制之饼图实现方法分析
Mar 06 Javascript
React + Threejs + Swiper 实现全景图效果的完整代码
Jun 28 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脚本的10个技巧(6)
2006/10/09 PHP
php 图片上添加透明度渐变的效果
2009/06/29 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
2013/08/15 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
Yii2设置默认控制器的两种方法
2017/05/19 PHP
jQuery 使用手册(二)
2009/09/23 Javascript
Javascript继承机制的设计思想分享
2011/08/28 Javascript
非主流的textarea自增长实现js代码
2011/12/20 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
js和as的稳定传值问题解决
2013/07/14 Javascript
jQuery 获取、设置HTML或TEXT内容的两种方法
2014/05/23 Javascript
巧用Javascript的逻辑运算符
2016/12/02 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
React如何避免重渲染
2018/04/10 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
nodejs语言实现验证码生成功能的示例代码
2019/10/13 NodeJs
Python 详解基本语法_函数_返回值
2017/01/22 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Django修改app名称和数据表迁移方案实现
2020/09/17 Python
45个非常奇妙的CSS3 特性应用示例
2012/01/01 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
KEEN美国官网:美国人气户外休闲鞋品牌
2021/03/09 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
专升本自我鉴定
2013/10/10 职场文书
护理专业个人求职简历的自我评价
2013/10/13 职场文书
元旦活动感言
2014/03/08 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
西柏坡观后感
2015/06/08 职场文书
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
Linux中文件的基本属性介绍
2022/06/01 Servers