JS/Angular - zwracania obiektów (po co stosować kopiowanie we froncie?)

0

Przerabiam kurs na udemy z angularem (https://www.udemy.com/course/the-complete-guide-to-angular-2/)

Mam dany model, np.

Car {
brand: string;
}

Serwis, który zwraca tablicę Car[]

getCars(): Car[] {
return this.cars.splice();
}

Jak widać, zwróciłem kopię mojego obiektu cars, autor powiedział, że mimo tego nie jest błędem zwrócić this.cars.

Zastanawiam się czy to nie jest trochę overengineering autora bo jeszcze w back-endzie mogę zrozumieć. Jaką macie opinie na ten temat?

0

A gdzie deklarujesz cars? A może przekazujesz do konstruktora? I czy bez this kompilator wie co którą tablicę Ci chodzi?

0

Kopiowanie w angularze wykorzystuje się jak na siłę ktoś ci powiedział używaj OnPush strategy bo to panie szybciej działa ale nie rozumiesz koncepcji więc, żeby działało to robisz klony aby zmieniła się referencja do obiektu i wykrata została zmiana.

1

Po to żebyś w komponencie który tego serwisu używa nie zrobił czegoś takiego:

this.carsService.getCars().length = 0;

a raczej żeby nie miało to złych konskwencji np. w innych miejscach bo zrobić tak nadal możesz

1 użytkowników online, w tym zalogowanych: 0, gości: 1