VUE组件之间多种通信方式

给大家介绍几种VUE组件之间通信的方式,根据业务场景大家可以自行选择。

1、通过$emit让子组件与父通信
/*
 @ 子组件 btn.vue
*/



/*
监听自定义hello事件,并触发helloWord方法
*/



2、通过ref获取子组件实例(属性、方法)
/*
 @ 子组件 btn.vue
*/



/*
通过ref与子组件通信
*/



2、通过一个空的VUE实例作为事件总代理,父与子、子与父、兄弟组件之间就可以通信了
/*
@ Event.js
*/
import Vue from 'vue'
export default new Vue()
/*
@ Event.js用法
*/
import Event from 'Event.js'

//事件监听
Event.$on('hello', (str)=> {
     console.log(str)
})

//事件触发
var str = 'hello, word'
Event.$emit('hello', str)

你可能感兴趣的:(VUE组件之间多种通信方式)