vue父组件点击触发子组件事件
来源:互联网 发布:面试问hash算法 编辑:程序博客网 时间:2024/05/21 15:06
最近在学习Vue父子组件通信的问题,刚好遇到一个父子之间事件事件派发与接收,在这里记录一下,在这里我使用的是ref
给子组件注册引用信息。官网是这样解释的
ref
被用来给元素或子组件注册引用信息。引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,引用指向的就是 DOM 元素; 如果用在子组件上,引用就指向组件实例:
父组件app.vue
<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>
子组件popup.vue
<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>
我把这个实例分为几个步骤解读:
1、父组件的button元素绑定click事件,该事件指向notify
方法
2、给子组件注册一个ref="child"
3、父组件的notify
的方法在处理时,使用了$refs.child
把事件传递给子组件的parentMsg
方法,同时携带着父组件中的参数msg
4、子组件接收到父组件的事件后,调用了parentMsg
方法,把接收到的msg
放到message
数组中
运行结果如下:
更多关于vue的学习可以来我的博客:
综合知识博客
git.boggeng.com
阅读全文
0 0
- vue父组件点击触发子组件事件
- vue.js2.0父组件点击触发子组件方法
- vue---vue中如何自定义事件?子组件事件如何向上触发父组件事件?
- Vue父组件调用子组件事件
- vue---vue2.x中父组件如何触发子组件事件方法?
- vue自定义事件 子组件向父组件通信
- vue-cli 子组件向父组件传递参数,触发父组件方法
- vue 兄弟组件之间事件触发
- Vue组件绑定自定义事件(子向父传递事件)
- Vue 父组件与子组件
- vue-父组件获取子组件数据
- vue 父组件调用子组件方法
- vue子组件获取父组件方法
- 子组件使用$emit事件触发父组件实现购物车功能
- vue-bus非父子组件之间触发事件
- vue使用$emit时,父组件无法监听到子组件的事件
- (vue.js)vue 父组件使用keep-alive和infinite-scroll导致在子组件触发父组件的infinite-scroll方法
- Vue.js的组件(三)父组件与子组件的数据联系 之 子传父 之 自定义事件
- 挑战练习:定制toast消息(一)(《Android编程权威指南》的)
- LoadRunner提高篇——结果分析实践
- UVA10462_Is There A Second Way Left? _kruskal的次小生成树
- Surface Pro 3 的 USB 和蓝牙设备无法使用的处理方法
- Java.3面向对象继承
- vue父组件点击触发子组件事件
- Xcode8权限问题
- Web漏洞挖掘
- 枚举的位运算
- SpringMVC
- Android中与服务器通信
- C# 单例模式
- 用到的C++语法
- eclipse导出可直接运行的jar项目