Vuedə Biristiqamətli Verilen Axını
Bütün giriş parametrləri uşaq xassəsi ilə ana xassəsi arasında biristiqamətli bağlanma yaradır: ana xassəsi yeniləndikdə, o uşaq komponentə ötürüləcək, lakin əksinə yox. Bu, uşaq komponentlərinin təsadüfən ana vəziyyətini dəyişdirməsinin qarşısını alır, bu da proqramınızın verilen axınını başa düşməyi çətinləşdirə bilər.
Bundan əlavə, hər dəfə ana komponent yeniləndikdə, uşaq komponentinin bütün giriş parametrləri aktual dəyərlərlə yenilənəcək. Bu o deməkdir ki, siz uşaq komponentin daxilində giriş parametrini dəyişdirməyə çalışmamalısınız. Əgər belə etsəniz, Vue konsolda xəbərdarlıq göstərəcək.
Adətən, giriş parametrini dəyişdirmək istəyinin yarandığı iki hal ilə qarşılaşılır. Gəlin onları nəzərdən keçirək.
Birinci hal
Giriş parametri ilkin dəyəri ötürmək üçün istifadə olunur; uşaq komponenti onu gələcəkdə lokal məlumat xassəsi kimi istifadə etmək istəyir. Bu halda ən yaxşısı, giriş parametrinin dəyərini ilkin dəyər kimi istifadə edən lokal məlumat xassəsini təyin etməkdir:
props: ['initialCounter'],
data() {
return {
counter: this.initialCounter
};
}
Ikinci hal
Giriş parametri emal edilməli olan xam dəyər kimi ötürülür. Bu halda ən yaxşısı, giriş parametrindən istifadə edən hesablanmış xassəni təyin etməkdir:
props: ['size'],
computed: {
normalizedSize: function() {
return this.size.trim().toLowerCase();
}
}
Qeyd
Nəzərə alın ki, JavaScript-də obyektlər və massivlər istinadla ötürülür, buna görə də giriş parametri massiv və ya obyektdirsə, uşaq komponenti daxilində həmin obyektin və ya massivin dəyişdirilməsi ana komponentin vəziyyətinə təsir edəcək və Vue bunun qarşısını almaqda xəbərdar edə bilməz. Giriş parametrlərinin, o cümlədən obyektlərin və massivlərin hər hansı bir dəyişikliyindən çəkinmək lazımdır, çünki verilenlərin biristiqamətli bağlanmasının laqeyd qoyulması arzuolunmaz nəticələrə səbəb ola bilər.