首页前端开发VUEvue模块兄弟通信

vue模块兄弟通信

时间2023-10-21 16:41:03发布访客分类VUE浏览290
导读:Vue是一款非常流行的JavaScript框架,能够快速构建可重用组件的优势是它备受大众欢迎的原因之一。Vue的兄弟组件通信是指同一父级组件中的不同组件之间的交互。这种通信的实现可以通过三种方式实现:事件总线、Vuex和$emit。其中,事...

Vue是一款非常流行的JavaScript框架,能够快速构建可重用组件的优势是它备受大众欢迎的原因之一。

Vue的兄弟组件通信是指同一父级组件中的不同组件之间的交互。这种通信的实现可以通过三种方式实现:事件总线、Vuex和$emit。其中,事件总线是一种最常用的方案之一。在Vue中,我们经常使用$emit函数来把消息发送到组件实例所属的父级组件,从而与同级兄弟组件进行通信。

import Vue from 'vue'// 创建一个新的Vue实例const bus = new Vue()// 在组件1中触发事件bus.$emit('foo', 'Hello, World!')// 在组件2中接收事件bus.$on('foo', message =>
{
console.log(message) // Hello, World!}
)

Vuex是一个专门为Vue.js应用程序开发的状态管理库。它通过一个简单的状态树来管理我们的整个应用程序的状态,并使用显式的方式跟踪这个状态树。用Vuex可以轻松地在同级兄弟组件之间进行通信。

import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)const store = new Vuex.Store({
state: {
message: ''}
,mutations: {
updateMessage(state, payload) {
state.message = payload}
}
}
)// 组件1中提交mutation以更新状态store.commit('updateMessage', 'Hello, World!')// 组件2中读取状态console.log(store.state.message) // Hello, World!

$emit是Vue组件实例的一个内置方法,用于向父组件发出自定义事件。我们可以使用$emit方法从一个组件向它的父组件发送消息。通过这种方式,兄弟组件之间的通信也可以实现。

export default {
data() {
return {
message: ''}
}
,methods: {
sendMessage() {
this.$emit('messageReceived', this.message)}
}
}
export default {
data() {
return {
receivedMessage: ''}
}
,methods: {
messageReceived(message) {
this.receivedMessage = message}
}
}
    

以上就是Vue组件的兄弟通信了,通过这三种方式我们可以轻松地在同级兄弟组件中进行通信。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: vue模块兄弟通信
本文地址: https://pptw.com/jishu/504680.html
vue打包app案例 vue打包后解开

游客 回复需填写必要信息