⊗jsvuPmCmUDF 64 of 72 menu

Տվյալների միակողմանի հոսք Vue-ում

Բոլոր մուտքային պարամետրերը կազմում են միակողմանի կապը երեխայի հատկության և ծնողի միջև. Երբ ծնողի հատկությունը թարմացվում է, այն կփոխանցվի երեխային, բայց ոչ հակառակը: Սա կանխում է երեխայի կոմպոնենտների կողմից ծնողի վիճակի պատահական փոփոխությունը, ինչը կարող է դժվարացնել ձեր հավելվածի տվյալների հոսքի հասկացողությունը:

Բացի այդ, ամեն անգամ, երբ թարմացվում է ծնող կոմպոնենտը, երեխայի կոմպոնենտի բոլոր մուտքային պարամետրերը կթարմացվեն արդիական արժեքներով: Սա նշանակում է, որ դուք չպետք է փորձեք փոխել մուտքային պարամետրը երեխայի կոմպոնենտի ներսում: Եթե դա անեք, Vue-ն կցուցադրի նախազգուշացում կոնսոլում:

Սովորաբար հանդիպում են երկու դեպք, երբ առաջանում է մուտքային պարամետրը փոխելու գայթակղություն: Եկեք դիտարկենք դրանք:

Առաջին դեպք

Մուտքային պարամետրը օգտագործվում է սկզբնական արժեքը փոխանցելու համար; երեխայի կոմպոնենտը ցանկանում է օգտագործել այն որպես տեղական տվյալների հատկություն հետագայում: Այս դեպքում ամենալավն է սահմանել տեղական տվյալների հատկություն, որն օգտագործում է մուտքային պարամետրի արժեքը որպես սկզբնական:

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

Երկրորդ դեպք

Մուտքային պարամետրը փոխանցվում է որպես անմշակ արժեք, որը պետք է վերափոխել: Այս դեպքում ամենալավն է սահմանել հաշվարկված հատկություն՝ օգտագործելով մուտքային պարամետրը:

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

Ծանոթագրություն

Ուշադրություն դարձրեք, որ օբյեկտները և զանգվածները JavaScript-ում փոխանցվում են հղումով, ուստի եթե մուտքային պարամետրը զանգված կամ օբյեկտ է, ապա դրա ներսում փոփոխությունները երեխայի կոմպոնենտում կազդեն ծնողի վիճակի վրա, և Vue-ն անկարող է նախազգուշացնել այդ մասին: Պետք է խուսափել մուտքային պարամետրերի ցանկացած մուտացիայից, ներառյալ օբյեկտները և զանգվածները, քանի որ տվյալների միակողմանի կապի անտեսումը կարող է հանգեցնել անցանկալի արդյունքների:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել