⊗jsvuPmCmUDF 64 of 72 menu

Unidirektionaler Datenfluss in Vue

Alle Props bilden eine unidirektionale Bindung zwischen der untergeordneten Eigenschaft und der übergeordneten: wenn die übergeordnete Eigenschaft aktualisiert wird, wird sie an die untergeordnete weitergegeben, aber nicht umgekehrt. Dies verhindert die versehentliche Änderung des übergeordneten Zustands durch untergeordnete Komponenten, was das Verständnis des Datenflusses Ihrer Anwendung erschweren könnte.

Darüber hinaus werden jedes Mal, wenn die übergeordnete Komponente aktualisiert wird, alle Props der untergeordneten Komponente auf die neuesten Werte aktualisiert. Das bedeutet, dass Sie nicht versuchen sollten, eine Prop innerhalb der untergeordneten Komponente zu ändern. Wenn Sie dies tun, wird Vue eine Warnung in der Konsole anzeigen.

Es gibt normalerweise zwei Fälle, in denen die Versuchung auftritt, eine Prop zu ändern. Lassen Sie uns diese betrachten.

Erster Fall

Die Prop wird zur Übergabe eines Anfangswerts verwendet; die untergeordnete Komponente möchte sie anschließend als lokale Dateneigenschaft verwenden. In diesem Fall ist es am besten, eine lokale Dateneigenschaft zu definieren, die den Wert der Prop als Anfangswert verwendet:

props: ['initialCounter'], data() { return { counter: this.initialCounter }; }

Zweiter Fall

Die Prop wird als Rohwert übergeben, der transformiert werden muss. In diesem Fall ist es am besten, eine berechnete Eigenschaft zu definieren, die die Prop verwendet:

props: ['size'], computed: { normalizedSize: function() { return this.size.trim().toLowerCase(); } }

Hinweis

Bitte beachten Sie, dass Objekte und Arrays in JavaScript als Referenz übergeben werden. Wenn es sich bei einer Prop also um ein Array oder ein Objekt handelt, werden Änderungen an diesem Objekt oder Array innerhalb der untergeordneten Komponente den Zustand der übergeordneten Komponente beeinflussen, und Vue ist nicht in der Lage, davor zu warnen. Mutationen von Props sollten vermieden werden, einschließlich solcher von Objekten und Arrays, da das Ignorieren der unidirektionalen Datenbindung zu unerwünschten Ergebnissen führen kann.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen