⊗jsvuPmCmUDF 64 of 72 menu

Enosmerni pretok podatkov v Vue

Vsi vhodni parametri tvorijo enosmerno povezavo med lastnostjo podrejenega in starševsko lastnostjo: ko se starševska lastnost posodobi, se bo prenesla na podrejenega, ne obratno. To preprečuje naključno spreminjanje stanja starša s strani podrejenih komponent, kar lahko oteži razumevanje pretoka podatkov v vaši aplikaciji.

Poleg tega se vsakič, ko se posodobi starševska komponenta, vsi vhodni parametri podrejene komponente posodobijo s trenutnimi vrednostmi. To pomeni, da ne bi smeli poskušati spreminjati vhodnega parametra znotraj podrejene komponente. Če to storite, bo Vue prikazal opozorilo v konzoli.

Običajno obstajata dva primera, ko se pojavi skušnjava za spreminjanjem vhodnega parametra. Oba pa si poglejmo.

Prvi primer

Vhodni parameter se uporablja za prenos začetne vrednosti; podrejena komponenta želi uporabiti to vrednost kot lokalno lastnost podatkov v prihodnosti. V tem primeru je najbolje definirati lokalno lastnost v podatkih, ki uporablja vrednost vhodnega parametra kot začetno vrednost:

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

Drugi primer

Vhodni parameter se posreduje kot surova vrednost, ki jo je treba pretvoriti. V tem primeru je najbolje definirati izračunano lastnost z uporabo vhodnega parametra:

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

Opomba

Upoštevajte, da se objekti in polja v JavaScript-u prenašajo po referenci, zato če je vhodni parameter polje ali objekt, potem spremembe znotraj podrejene komponente tega objekta ali polja vplivajo na stanje starša in Vue tega ne more opozoriti. Izmikanje kakršnim koli mutacijam vhodnih parametrov, vključno z objekti in polji, je priporočljivo, saj lahko ignoriranje enosmerne povezave podatkov vodi do nezaželenih rezultatov.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni