⊗jsvuPmCmUDF 64 of 72 menu

Enveis datastrøm i Vue

Alle props danner en enveisbinding mellom barneegenskapen og foreldreegenskapen: når foreldreegenskapen oppdateres, vil den overføres til barnet, men ikke omvendt. Dette forhindrer utilsiktede endringer av foreldretilstanden fra barnekomponenter, noe som kan gjøre det vanskelig å forstå datastrømmen i applikasjonen din.

Videre, hver gang foreldrekomponenten oppdateres, vil alle props i barnekomponenten blitt oppdatert med de nyeste verdiene. Dette betyr at du ikke skal forsøke å endre en prop inni en barnekomponent. Hvis du gjør det, vil Vue vise en advarsel i konsollen.

Det er vanligvis to tilfeller hvor man kan fristes til å endre en prop. La oss se på dem.

Første tilfelle

Prop'en brukes til å sende en initialverdi; barnekomponenten ønsker å bruke den som en lokal dataegenskap senere. I dette tilfellet er det best å definere en lokal dataegenskap som bruker prop-verdien som startverdi:

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

Andre tilfelle

Prop'en sendes som en rå verdi som må transformeres. I dette tilfellet er det best å definere en beregnet egenskap som bruker prop'en:

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

Merknad

Vær oppmerksom på at objekter og arrays i JavaScript overføres ved referanse, så hvis en prop er en array eller et objekt, vil endringer inni barnekomponenten av dette objektet eller arrayen påvirke tilstanden til forelderen, og Vue er ikke i stand til å advare mot dette. Man bør unngå alle mutasjoner av props, inkludert objekter og arrays, ettersom å ignorere enveis databinding kan føre til uønskede resultater.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis