Analyse des Datenaktualisierungsschemas in der Vue-Komponentenkommunikation
In der Vue-Entwicklung spielt die Komponentenkommunikation eine entscheidende Rolle. Bei der Komponentenkommunikation ist die Datenaktualisierung ein wesentliches Bindeglied. In diesem Artikel wird das Datenaktualisierungsschema in der Vue-Komponentenkommunikation analysiert und anhand von Codebeispielen veranschaulicht.
Bei der Kommunikation zwischen übergeordneten und untergeordneten Komponenten kann die übergeordnete Komponente Daten über Requisiten an die untergeordnete Komponente weitergeben, und die untergeordnete Komponente kann über das Ereignis $emit Daten an die übergeordnete Komponente senden.
Codebeispiel:
// Übergeordnete Komponente App.vue
<child-component :message="message" @update="handleUpdate"></child-component>
<script><br>import ChildComponent from './ ChildComponent.vue';</p><p>Standardexport {<br> Komponenten: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ChildComponent</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>},<br> data() {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>return {
message: 'Hello World'
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><p>},<br> Methoden: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>handleUpdate(data) {
this.message = data;
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>}<br>}<br></script>
// Kind Component ChildComponent.vue
<button @click="sendMessage">发送消息</button>
<script><br>export default {<br> props: ['message'],<br> methoden: { </p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>sendMessage() {
this.$emit('update', 'Hello Vue');
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>}<br>}<br></script>
In diesem Beispiel übergibt die übergeordnete Komponente das Nachrichtenattribut über Requisiten an die untergeordnete Komponente. Wenn die untergeordnete Komponente auf die Schaltfläche klickt, wird über das Ereignis $emit ein Aktualisierungsereignis an die übergeordnete Komponente gesendet und „Hello Vue“ als Daten übergeben. Nachdem die handleUpdate-Methode in der übergeordneten Komponente die Daten empfangen hat, weist sie sie der Nachricht zu und aktualisiert so die Daten.
In der Geschwisterkomponentenkommunikation können Sie Daten in der gemeinsamen übergeordneten Komponente definieren und die Daten dann über Requisiten bzw. Ereignisse aktualisieren.
Codebeispiel:
// Übergeordnete Komponente App.vue
<child-component1 :message="message" @update-message="handleUpdateMessage"></child-component1>
<child-component2 :message="message"></child-component2>
<script><br>import ChildComponent1 from './ ChildComponent1.vue';<br>ChildComponent2 aus './ChildComponent2.vue' importieren;</p><p>Standard exportieren {<br> Komponenten: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>ChildComponent1,
ChildComponent2</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>},<br> data() {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>return {
message: 'Hello World'
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><div class="contentsignin">Nach dem Login kopieren</div></div><p>},<br> Methoden: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>handleUpdateMessage(data) {
this.message = data;
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>}<br> }<br></script>
// Untergeordnete Komponente ChildComponent1.vue
<button @click="sendMessage">发送消息</button>
<script><br>Standardexport {<br> props: ['message'],<br> Methoden: {</p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>sendMessage() {
this.$emit('update-message', 'Hello Vue');
}</pre><div class="contentsignin">Nach dem Login kopieren</div></div><p>}<br>}<br></script>
// Untergeordnete Komponente ChildComponent2.vue
<p>{{ message }}</p>
<script><br>export default {<br> props: ['message']<br>}<br></script>
In diesem Beispiel werden Nachrichtendaten in der übergeordneten Komponente App.vue definiert und übergab es an die beiden Unterkomponenten ChildComponent1 und ChildComponent2. Wenn ChildComponent1 auf die Schaltfläche klickt, wird über das Ereignis $emit ein Update-Message-Ereignis an die übergeordnete Komponente gesendet und „Hello Vue“ als Daten übergeben. Nachdem die Methode handleUpdateMessage in der übergeordneten Komponente die Daten empfangen hat, weist sie sie der Nachricht zu. Da ChildComponent2 auch an die Nachrichteneigenschaft gebunden ist, aktualisiert ChildComponent2 die Anzeige automatisch, wenn die Nachricht aktualisiert wird.
Zusammenfassung
Durch Requisiten und Ereignisse können wir Daten in der Vue-Komponentenkommunikation aktualisieren. Bei der Kommunikation zwischen übergeordneten und untergeordneten Komponenten übergibt die übergeordnete Komponente Daten über Requisiten an die untergeordnete Komponente, und die untergeordnete Komponente sendet über das Ereignis $emit eine Anforderung zum Aktualisieren von Daten an die übergeordnete Komponente. Bei der Kommunikation mit Geschwisterkomponenten können Sie Daten in der gemeinsamen übergeordneten Komponente definieren und die Daten dann über Requisiten und Ereignisse aktualisieren. Diese Datenaktualisierungslösungen wurden in der tatsächlichen Vue-Entwicklung häufig verwendet und helfen uns, die Komponentenkommunikation und Datenaktualisierungen besser zu implementieren.
Das obige ist der detaillierte Inhalt vonAnalyse des Datenaktualisierungsschemas in der Vue-Komponentenkommunikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!