Welche Datenübertragungsmethoden gibt es für die Vue-Komponentenkommunikation?
In der Vue-Entwicklung ist die Komponentenkommunikation ein sehr wichtiger Teil. Durch Komponentenkommunikation können Datenübertragung und Interaktion zwischen verschiedenen Komponenten erreicht werden. Vue bietet eine Vielzahl von Möglichkeiten zur Implementierung der Komponentenkommunikation, einschließlich Requisiten, Emittieren, Bereitstellen/Injizieren, Vuex usw. In diesem Artikel werden diese verschiedenen Datenübertragungsmethoden erläutert und entsprechende Codebeispiele bereitgestellt.
props werden von der übergeordneten Komponente verwendet, um Daten an die untergeordnete Komponente zu übergeben, und die untergeordnete Komponente empfängt die übergebenen Daten über props. $emit wird von der untergeordneten Komponente verwendet, um Daten an die übergeordnete Komponente zu übergeben. Die untergeordnete Komponente löst Ereignisse aus und übergibt Daten über $emit an die übergeordnete Komponente. T & lt; div & gt; '
export default {
<child-component :message="message" @update="updateMessage"></child-component> <p>父组件收到子组件传递过来的数据:{{message}}</p>
provide/inject
provide und inject sind zwei Optionen zum Weitergeben von Daten über hierarchische Komponenten hinweg. Dies wird durch die Bereitstellung von Daten über übergeordnete Komponenten und erreicht Daten in untergeordnete Komponenten einfügen. Die Option „Bereitstellen“ stellt Daten bereit und die Option „Injizieren“ fügt Daten ein. T & lt; div & gt; '
export default {
components: { ChildComponent }, data() { return { message: '' } }, methods: { updateMessage(newMessage) { this.message = newMessage } }
Vuex
Vuex ist das offiziell von Vue bereitgestellte Zustandsverwaltungsmodell, das zur zentralen Verwaltung von zwischen Komponenten gemeinsam genutzten Daten verwendet wird. Datenübertragung und Interaktion zwischen Komponenten werden durch den Zustand, Getter, Mutationen, Aktionen usw. von Vuex realisiert.
Vue aus 'vue' importieren
Vuex aus 'vuex' importieren
<input type="text" v-model="message" /> <button @click="sendMessage">传递数据给父组件</button>
Getter : {
data() { return { message: '' } }, methods: { sendMessage() { this.$emit('update', this.message) } }
Mutationen: {
<p>父组件提供数据:{{message}}</p> <child-component></child-component>
Aktionen: {
components: { ChildComponent }, provide() { return { message: 'Hello World!' } }
})
// ParentComponent.vue
<p>子组件注入数据:{{message}}</p>
inject: ['message']
<script><br> import { mapGetters } from 'vuex'</p><ol start="3">export default { <li><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>message: 'Hello World!'</pre><div class="contentsignin">Nach dem Login kopieren</div></div>}</script>
Die oben genannten sind mehrere gängige Datenübertragungsmethoden für die Vue-Komponentenkommunikation. Jede Methode hat ihre eigenen anwendbaren Szenarien. Wählen Sie die geeignete Methode für die Datenübertragung entsprechend den tatsächlichen Anforderungen. Durch den rationalen Einsatz dieser Methoden kann eine flexible und effiziente Kommunikation zwischen Komponenten erreicht werden, wodurch die Entwicklungseffizienz und die Codequalität verbessert werden.Das obige ist der detaillierte Inhalt vonWelche Datenübertragungsmethoden gibt es für die Vue-Komponentenkommunikation?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!