fruitList = [
"alma",
"körte",
"barack",
"szilva"
]
@for(fruit of fruitList; track fruit) {
- {{fruit}}
}
===== Objektumlista iterálása =====
Legyen egy lista:
employees = [
{id: 1, name: "Béla", city: "Szeged", salary: 392 },
{id: 2, name: "Dénes", city: "Szolnok", salary: 395 },
{id: 3, name: "Imre", city: "Szeged", salary: 397 },
]
Lista iterálása sablonban:
Id
Név
Település
Fieztés
@for(emp of employees; track emp.id) {
{{emp.id}}
{{emp.name}}
{{emp.city}}
{{emp.salary}}
}
===== Az index és más változók használata =====
@for (item of items; rack item.id; let idx = $index) {
}
Az index párosságának vizsgálata:
@for (item of items; rack item.id; let idx = $index, e = $even) {
}
Használható változók:
| $count | Az iterált elemek száma |
| $index | Az aktuális sor index |
| $first | Az első sor |
| $last | Az utolsó sor |
| $even | Páros-e az index |
| $odd | Páratlan-e az index |
===== Régi változat =====
//...
import { NgFor } from '@angular/common';
@Component({
//..
imports: [NgFor],
//..
})
==== Gyümölcslista ====
Legyen például egy fruit nevű tömb:
fruits = [
'alma',
'körte',
'barack',
'szilva'
];
//...
import { NgFor } from '@angular/common';
@Component({
//..
imports: [NgFor],
//..
})
Iteráljuk a HTML sablonban:
-
{{fruit}}
==== Objektumlista iterálása ====
{{ task.id }} {{ task.name }}
=== Teljes példa ===
Ebben a példában dolgozókat szeretnénk listázni. Erre a célra létrehoztunk egy külön
komponenst **first** néven.
Külön komponens esetén a 17-s Angulartól importálni kell a CommondModule modult.
import { Component, OnInit } from '@angular/core';
import { CommonModule } from '@angular/common';
@Component({
selector: 'app-first',
standalone: true,
imports: [CommonModule],
templateUrl: './first.component.html',
styleUrls: ['./first.component.css']
})
export class FirstComponent implements OnInit {
employees!: Employee[];
constructor() { }
ngOnInit(): void {
this.employees = [
{ name: "Parke Béla", salary: 2850000 },
{ name: "Lenke Attila", salary: 2243500 },
{ name: "Tron Ferenc", salary: 2150500 }
]
}
}
interface Employee {
name: string,
salary: number
}
-
{{employee.name}} {{employee.salary}}
Az alábbi sorban, tettünk egy felkiáltójelet:
employees!: Employee[];
Erre azért van szükség, hogy mert nem a konstruktorban inicializáljuk az objektumot,
és fordítónak ezzel alapból problémája van.
=== Kiválasztással ===
Ez a példa megegyezik az előzővel, de hozzáadtunk egy kiválasztási lehetőséget.
Bármelyik névre kattintunk, az megjelenik a lista alatt a "Kiválasztott" szöveg
után.
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-first',
templateUrl: './first.component.html',
styleUrls: ['./first.component.css']
})
export class FirstComponent implements OnInit {
employees!: Employee[];
selected!: string;
constructor() { }
ngOnInit(): void {
this.employees = [
{ name: "Parke Béla", salary: 2850000 },
{ name: "Lenke Attila", salary: 2243500 },
{ name: "Tron Ferenc", salary: 2150500 }
]
}
onClickEmployee(employee: Employee) {
this.selected = employee.name;
}
}
interface Employee {
name: string,
salary: number
}
-
{{employee.name}} {{employee.salary}}
Kiválasztott: {{selected}}
=== Függvényhívás egy elemen ===
{{emp.name}}}
{{valamiAtalakitoFuggveny(emp.city)}}
A valamiAtalakitoFuggveny() csinál valamit a településsel majd visszaad valamit és
az az érték kerül renderelésre.