[[oktatas:web:angular|< Angular]] ====== Angular - TrackByFunction ====== * **Szerző:** Sallai András * Copyright (c) 2023, Sallai András * Szerkesztve: 2023, 2025 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== NgForOf azonosítója ===== Az NgForOf direktava helyett a @for() szintaxis ajánlott az Angular 16 utáni változatokban, de használható ez a direktíva is. A TrackByFunction, az NgForOf direktíva használatakor segít az egyedi azonosító használatában a DOM változtatása során. Célja, hogy csak a DOM-nak csak azokat a részeit változtassuk, ami az adott tömbben vagy listában is változik. Ez Angular új **@for()** szintaxis használata esetén nem szükséges ez a függvény, mivel a kötelező track kulccsal ez automatikus. ===== Model és tömb ===== class Employee { id !: number; name !: string; city !: string; salary !: number; } Legyen egy list: employees: Employee[] = []; ===== NgForOf direktíva ===== ==== TrackBy függvény ==== function employeeTrackBy(index, employee) { return employee.id; } ==== Használat ==== {{ emp.name }} {{ emp.city }} {{ emp.salary }} ===== Az Angular @for() szintaxisa ===== A @for() szintaxis használata esetén nem szükséges külön megírni a trackBy() függvényt, mivel automatikusan működik. @for(emp of employees; track emp.id) { {{ emp.name }} {{ emp.city }} {{ emp.salary }} }