Loading...
Loading...
ALWAYS use when working with Angular Control Flow syntax, @if, @for, @switch, @defer, or new template syntax in Angular applications.
npx skill4agent add oguzhan18/angular-ecosystem-skills angular-control-flow@Component({
template: `
@if (isLoggedIn) {
<p>Welcome!</p>
} @else {
<p>Please login</p>
}
`
})
export class MyComponent {
isLoggedIn = signal(false);
}@Component({
template: `
@if (user.role === 'admin') {
<p>Admin panel</p>
} @else if (user.role === 'user') {
<p>User dashboard</p>
} @else {
<p>Guest view</p>
}
`
})
export class MyComponent {}@Component({
template: `
@for (item of items; track item.id) {
<li>{{ item.name }}</li>
}
`
})
export class MyComponent {
items = [{ id: 1, name: 'A' }, { id: 2, name: 'B' }];
}@for (user of users; track user.id) {
<li>{{ user.name }}</li>
}@Component({
template: `
@for (item of items; track item.id) {
{{ item.name }}
} @empty {
<p>No items found</p>
}
`
})
export class MyComponent {}@Component({
template: `
@switch (status) {
@case ('loading') {
<p>Loading...</p>
}
@case ('success') {
<p>Success!</p>
}
@case ('error') {
<p>Error occurred</p>
}
@default {
<p>Unknown status</p>
}
}
`
})
export class MyComponent {
status = 'loading';
}@Component({
template: `
@defer (on viewport) {
<heavy-chart />
} @placeholder {
<div>Loading chart...</div>
}
`
})
export class DashboardComponent {}@Component({
template: `
@defer (on hover) {
<tooltip />
}
@defer (when isReady) {
<ready-component />
}
`
})
export class MyComponent {}ng generate @angular/core:control-flow@if (condition) {
content
} @else {
alternative
}