⊗jsvuPmCmUDF 64 of 72 menu

Vienkryptis duomenų srautas Vue

Visos įvesties savybės sudaro vienkryptį ryšį tarp vaiko savybės ir tėvo savybės: kai tėvo savybė atnaujinama - ji bus perduodama vaikui, bet ne atvirkščiai. Tai užkerta kelią atsitiktiniam vaiko komponentų pakeitimui tėvo būsenos, kas gali apsunkinti jūsų programos duomenų srauto supratimą.

Be to, kaskart atnaujinant tėvo komponentą, visos vaiko komponento įvesties savybės bus atnaujintos naujausiomis reikšmėmis. Tai reiškia, kad neturėtumėte bandyti keisti įvesties savybę vaiko komponento viduje. Jei tai padarysite, Vue rodys įspėjimą konsolėje.

Paprastai susiduriama su dviem atvejais, kai kyla pokštas keisti įvesties savybę. Pažvelkime į juos.

Pirmas atvejis

Įvesties savybė naudojama pradinei reikšmei perduoti; vaiko komponentas nori jį naudoti kaip vietinę duomenų savybę vėliau. Šiuo atveju geriausia apibrėžti vietinę duomenų savybę, kuri naudoja įvesties savybės reikšmę kaip pradinę:

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

Antras atvejis

Įvesties savybė perduodama kaip neapdorota reikšmė, kurią reikia transformuoti. Šiuo atveju geriausia apibrėžti apskaičiuojamą savybę naudojant įvesties savybę:

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

Pastaba

Atkreipkite dėmesį, kad objektai ir masyvai JavaScript perduodami pagal nuorodą, todėl jei įvesties savybė yra masyvas arba objektas, tai pakeitimai vaiko komponente to objekto arba masyvo paveiks tėvo būseną ir Vue negali įspėti apie tai. Reikėtų vengti bet kokių įvesties savybių mutacijų, įskaitant objektus ir masyvus, nes vienkrypčio duomenų susiejimo ignoravimas gali sukelti nepageidaujamų rezultatų.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti