⊗jsvuPmCmUDF 64 of 72 menu

Jednosměrný tok dat ve Vue

Všechny vstupní parametry tvoří jednosměrný svazek mezi podřízenou vlastností a nadřazenou: když se nadřazená vlastnost aktualizuje, bude předána podřízené, ale ne naopak. Toto zabraňuje náhodné změně stavu nadřazeného komponentu podřízenými komponenty, což může ztížit pochopení toku dat vaší aplikace.

Kromě toho, pokaždé když se aktualizuje nadřazený komponent, všechny vstupní parametry podřízeného komponentu budou aktualizovány na aktuální hodnoty. To znamená, že neměli byste se pokoušet upravovat vstupní parametr uvnitř podřízeného komponentu. Pokud tak učiníte, Vue zobrazí varování v konzoli.

Obvykle se setkáme se dvěma případy, kdy vzniká pokušení měnit vstupní parametr. Pojďme je prozkoumat.

První případ

Vstupní parametr je použit pro předání počáteční hodnoty; podřízený komponent ji chce použít jako lokální datovou vlastnost pro další použití. V tomto případě je nejlepší definovat lokální datovou vlastnost, která používá hodnotu vstupního parametru jako počáteční:

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

Druhý případ

Vstupní parametr je předán jako nezpracovaná hodnota, kterou je třeba transformovat. V tomto případě je nejlepší definovat vypočítanou vlastnost používající vstupní parametr:

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

Poznámka

Všimněte si, že objekty a pole v JavaScriptu jsou předávány odkazem, takže pokud je vstupním parametrem pole nebo objekt, pak změny uvnitř podřízeného komponentu tohoto objektu nebo pole budou ovlivňovat stav nadřazeného komponentu a Vue není schopno na to varovat. Měli byste se vyvarovat jakýchkoli mutací vstupních parametrů, včetně objektů a polí, protože ignorování jednosměrného svázání dat může vést k nechtěným výsledkům.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικά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
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout