vue --- 使用中央事件总线(bus)实现跨组件通信
生活随笔
收集整理的這篇文章主要介紹了
vue --- 使用中央事件总线(bus)实现跨组件通信
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
使用Bus實(shí)現(xiàn)跨組件傳輸須注意以下3點(diǎn):
1.需要?jiǎng)?chuàng)建一個(gè)空的Vue實(shí)例(bus),來作為中間站
2.使用bus.emit來發(fā)送事件3.使用bus.emit來發(fā)送事件 3.使用bus.emit來發(fā)送事件3.使用bus.on來監(jiān)聽事件(在鉤子created中監(jiān)聽)
代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head> <body><div id="app"><p>{{ message }}</p><my-component></my-component> </div> <script src="https://unpkg.com/vue/dist/vue.min.js"></script> <script>const bus = new Vue({});Vue.component('my-component',{template:'<button @click="sendMessage">派發(fā)事件</button>',methods:{sendMessage:function() {bus.$emit('on-message', '使用bus派發(fā)的事件');},}})const app = new Vue({el:'#app',data:{message: ''},mounted:function(){let self = this;bus.$on('on-message',function(msg){self.message = msg;})}}) </script> </body> </html>
參考《Vue.js實(shí)戰(zhàn)》P80
總結(jié)
以上是生活随笔為你收集整理的vue --- 使用中央事件总线(bus)实现跨组件通信的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL水表查询系统_水费管理系统
- 下一篇: vue --- 获取子组件数据的一个应