Vueda bir yo‘nalgan ma’lumotlar oqimi
Barcha kirish parametrlari pastki xususiyat va yuqori o‘rtasida bir tomonlama bog‘lanishni hosil qiladi: yuqori xususiyat yangilanganda - u pastkiga uzatiladi, lekin aksincha emas. Bu pastki komponentlar tomonidan yuqori holatining tasodifiy o‘zgarishining oldini oladi, bu sizning ilovangiz ma’lumotlar oqimini tushunishni qiyinlashtirishi mumkin.
Bundan tashqari, har safar yuqori komponent yangilanganda, pastki komponentning barcha kirish parametrlari hozirgi qiymatlar bilan yangilanadi. Bu shuni anglatadiki, siz pastki komponent ichida kirish parametrini o‘zgartirishga urinmasligingiz kerak. Agar siz buni qilsangiz, Vue konsolga ogohlantirish chiqaradi.
Odatda, kirish parametrini o‘zgartirish istagi paydo bo‘ladigan ikki holat mavjud. Keling ularni ko‘rib chiqaylik.
Birinchi holat
Kirish parametri boshlang‘ich qiymatni uzatish uchun ishlatiladi; pastki komponent uni keyinchalik mahalliy ma’lumotlar xususiyati sifatida ishlatmoqchi bo‘ladi. Bunday holatda eng yaxshisi ma’lumotlarda mahalliy xususiyatni aniqlash bo‘lib, u kirish parametri qiymatini boshlang‘ich sifatida ishlatadi:
props: ['initialCounter'],
data() {
return {
counter: this.initialCounter
};
}
Ikkinchi holat
Kirish parametri qayta islanishi kerak bo‘lgan xom qiymat sifatida uzatiladi. Bunday holatda eng yaxshisi hisoblanadigan xususiyatni kirish parametridan foydalangan holda aniqlashdir:
props: ['size'],
computed: {
normalizedSize: function() {
return this.size.trim().toLowerCase();
}
}
Eslatma
Diqqat qiling, JavaScriptdagi obyektlar va massivlar havola orqali uzatiladi, shuning uchun agar kirish parametri massiv yoki obyekt bo‘lsa, unda pastki komponent ichidagi o‘zgarishlar yuqori holatiga ta’sir qiladi va Vue buni ogohlantira olmaydi. Kirish parametrlarining har qanday o‘zgarishlaridan, shu jumladan obyektlar va massivlardan, saqlanish kerak, chunki ma’lumotlarning bir tomonlama bog‘lanishiga e’tibor bermaslik istakli bo‘lmagan natijalarga olib kelishi mumkin.