详解vue中在父组件点击按钮触发子组件的事件


Posted in Javascript onNovember 13, 2020

我把这个实例分为几个步骤解读:

1、父组件的button元素绑定click事件,该事件指向notify方法
2、给子组件注册一个ref=“child”
3、父组件的notify的方法在处理时,使用了$refs.child把事件传递给子组件的parentMsg方法,同时携带着父组件中的参数msg
 4、子组件接收到父组件的事件后,调用了parentMsg方法,把接收到的msg放到message数组中

父组件

<template>
 <div id="app">
  <!--父组件-->
  <input v-model="msg" />
  <button v-on:click="notify">广播事件</button>
  <!--子组件-->
  <popup ref="child"></popup>
 </div>
</template>
 <script>
import popup from "@/components/popup";
export default {
 name: "app",
 data: function () {
  return {
   msg: "",
  };
 },
 components: {
  popup,
 },
 methods: {
  notify: function () {
   if (this.msg.trim()) {
    this.$refs.child.parentMsg(this.msg);
   }
  },
 },
};
</script>
 <style>
#app {
 font-family: "Avenir", Helvetica, Arial, sans-serif;
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-align: center;
 color: #2c3e50;
 margin-top: 60px;
}
</style>

子组件

<template>
 <div>
  <ul>
   <li v-for="item in messages">父组件输入了:{{ item }}</li>
  </ul>
 </div>
</template>
 <style>
body {
 background-color: #ffffff;
}
</style>
 <script>
export default {
 name: "popup",
 data: function () {
  return {
   messages: [],
  };
 },
 methods: {
  parentMsg: function (msg) {
   this.messages.push(msg);
  },
 },
};
</script>

到此这篇关于详解vue中在父组件点击按钮触发子组件的事件的文章就介绍到这了,更多相关vue 父组件触发子组件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript 回调函数详解
Nov 11 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
Jul 09 Javascript
Node.js与MySQL交互操作及其注意事项
Oct 05 Javascript
浅析JavaScript动画模拟拖拽原理
Dec 09 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
input获取焦点时底部菜单被顶上来问题的解决办法
Jan 24 Javascript
js实现PC端和移动端刮卡效果
Mar 27 Javascript
JS+DIV实现的卷帘效果示例
Mar 22 Javascript
jQuery实现的手风琴侧边菜单效果
Mar 29 jQuery
Vue组件内部实现一个双向数据绑定的实例代码
Apr 04 Javascript
vue穿梭框实现上下移动
Jan 29 Vue.js
Vue中nprogress页面加载进度条的方法实现
Nov 13 #Javascript
解决vue打包 npm run build-test突然不动了的问题
Nov 13 #Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 #Javascript
解决vuex刷新数据消失问题
Nov 12 #Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 #Javascript
解决vuex改变了state的值,但是页面没有更新的问题
Nov 12 #Javascript
javascript实现搜索筛选功能实例代码
Nov 12 #Javascript
You might like
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
PHP简单判断字符串是否包含另一个字符串的方法
2016/03/25 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
jquery focus(fn),blur(fn)方法实例代码
2011/12/16 Javascript
js 三级关联菜单效果实例
2013/08/13 Javascript
浅析webapp框架AngularUI的demo
2014/12/21 Javascript
jquery性能优化高级技巧
2015/08/24 Javascript
JS实现浏览器状态栏显示时间的方法
2015/10/27 Javascript
基于jQuery实现点击列表加载更多效果
2016/05/31 Javascript
JavaScript中数组的22种方法必学(推荐)
2016/07/20 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
js精确的加减乘除实例
2017/11/14 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
JS加密插件CryptoJS实现的Base64加密示例
2020/08/16 Javascript
用vscode开发vue应用的方法步骤
2019/05/06 Javascript
mpvue实现微信小程序快递单号查询代码
2020/04/03 Javascript
vue中渲染对象中属性时显示未定义的解决
2020/07/31 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
python实现图片变亮或者变暗的方法
2015/06/01 Python
详解python字节码
2018/02/07 Python
基于python代码实现简易滤除数字的方法
2018/07/17 Python
关于Python作用域自学总结
2019/06/10 Python
Flask模板引擎之Jinja2语法介绍
2019/06/26 Python
tensorflow-gpu安装的常见问题及解决方案
2020/01/20 Python
python数据预处理方式 :数据降维
2020/02/24 Python
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
服务之星获奖感言
2014/01/21 职场文书
测试工程师职业规划书
2014/02/06 职场文书
不同意离婚代理词
2015/05/23 职场文书
给校长的建议书范文
2015/09/14 职场文书
Python编解码问题及文本文件处理方法详解
2021/06/20 Python