In Vue.js, cross-component communication can be achieved in the following ways: Parent-child communication: passing data or event triggering through props. Ancestor-descendant communication: sharing data sources via provide/inject. Sibling component communication: via event bus, Vuex state management, or custom events.
#How to communicate across components in Vue?
Introduction:
In Vue.js applications, cross-component communication is crucial to share data and events. The following are several ways to achieve cross-component communication:
Parent-child communication:
Ancestor-descendant communication:
Sister component communication:
Custom events:
Attribute passing example:
<code class="HTML"><!-- 父组件 --> <template> <Child-Component :message="message" /> </template></code>
<code class="HTML"><!-- 子组件 --> <template> <div>{{ message }}</div> </template></code>
Triggered by event example:
<code class="HTML"><!-- 子组件 --> <template> <button @click="emitMessage">触发事件</button> </template> <script> export default { methods: { emitMessage() { this.$emit('message', '事件数据'); } } }; </script></code>
<code class="HTML"><!-- 父组件 --> <template> <Child-Component @message="handleMessage" /> </template> <script> export default { methods: { handleMessage(message) { console.log(message); // 输出:事件数据 } } }; </script></code>
The above is the detailed content of How to communicate across components in vue. For more information, please follow other related articles on the PHP Chinese website!