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 相关文章推荐
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
Feb 15 Javascript
AMD异步模块定义介绍和Require.js中使用jQuery及jQuery插件的方法
Jun 06 Javascript
自动完成的搜索框javascript实现
Feb 26 Javascript
js如何准确获取当前页面url网址信息
Sep 13 Javascript
pc加载更多功能和移动端下拉刷新加载数据
Nov 07 Javascript
原生JS实现在线问卷调查投票特效
Jan 03 Javascript
BootStrap表单验证实例代码
Jan 13 Javascript
详解用vue.js和laravel实现微信授权登陆
Jun 23 Javascript
Babel 入门教程学习笔记
Jun 13 Javascript
BootStrap模态框闪退问题实例代码详解
Dec 10 Javascript
解决layer 动态加载select 失效的问题
Sep 18 Javascript
JavaScript写个贪吃蛇小游戏(超详细)
Mar 17 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 管理系统程序中的后门
2009/08/05 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
js post方式传递提交的实现代码
2010/05/31 Javascript
后台获取ZTREE选中节点的方法
2015/02/12 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
jQuery实现花式轮播之圣诞节礼物传送效果
2016/12/25 Javascript
AngularJS中控制器函数的定义与使用方法示例
2017/10/10 Javascript
在vscode中统一vue编码风格的方法
2018/02/22 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
JavaScript实现的3D旋转魔方动画效果实例代码
2019/07/31 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
JavaScript canvas实现雨滴特效
2021/01/10 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
apache部署python程序出现503错误的解决方法
2017/07/24 Python
通过实例解析Python调用json模块
2019/12/11 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
python操作toml文件的示例代码
2020/11/27 Python
css3弹性盒子flex实现三栏布局的实现
2020/11/12 HTML / CSS
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
KOHLER科勒美国官网:国际著名卫浴橱柜领先品牌
2020/06/27 全球购物
工作人员思想汇报
2014/01/09 职场文书
幼儿园开学家长寄语
2014/01/19 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
冬季安全检查方案
2014/05/23 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
保险公司增员口号
2015/12/25 职场文书
Python中的套接字编程是什么?
2021/06/21 Python