Directives
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ β Π² Angular ΡΡΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°. ΠΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ²ΠΎΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΡΡΠΈΠ»Ρ
ΠΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π½Π°ΠΌ ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈΠ»ΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ².
ngStyle
Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΡΠΈΠ»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°
<div class="card">
<h2 [ngStyle]="{
color: title.length < 5 ? 'black' : 'green'
}">{{ title }}</h2>
</div>
ngClass
ΠΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΊΠ»Π°ΡΡΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ
<div class="text" [ngClass]="{
blue: textColor === 'blue',
red: textColor === 'red'
}"></div>
<!-- ΠΈΠ»ΠΈ -->
<div class="text"
[class.blue]="textColor === 'blue'"
[class.red]="textColor === 'red'"
></div>
Π‘ΡΡΡΠΊΡΡΡΠ½ΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
ΠΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΌΠ΅Π½ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ html. Π‘ΠΈΠΌΠ²ΠΎΠ» *
ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΌΠ΅Π½ΡΠ΅Ρ html.
ngIf
ΠΠΎΠ±Π°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π² html.
<div *ngIf="toggle">
<app-card></app-card>
<app-card></app-card>
<app-card></app-card>
<app-card></app-card>
</div>
Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° Else Π΄Π»Ρ ngIf:
<div *ngIf="toggle; else noCards">
<app-card></app-card>
<app-card></app-card>
<app-card></app-card>
<app-card></app-card>
</div>
<ng-template #noCards>
<p>Cards are hidden</p>
</ng-template>
ngFor
ΠΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠ΅ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΡΠΈΠΌΠ΅Ρ Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
<div class="container">
<!-- Example 1 -->
<app-card
*ngFor="let iterCard of cards"
[card]="iterCard"
></app-card>
<!-- Example 2 -->
<h2>Products:</h2>
<div *ngFor="let product of products">
<h3>
{{ product.name }}
</h3>
</div>
</div>
ΡΠ΅ΡΠ΅Π· Π°ΡΡΠΈΠ±ΡΡ [card]
ΠΌΡ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ iterCard
Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠΌ CardComponent
(ΡΠΌ Π΄Π°Π»Π΅Π΅)
Π ΠΊΠΎΠ΄Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΡΠΎΡΠΌΡ (ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΉ Π΄Π»Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΊΠ°ΡΡΡ):
export interface Card {
title: string
}
@Component({
selector: 'app-form',
...
})
export class FormComponent {
cards: Card[] = [
{title: 'Card 1'},
{title: 'Card 2'}
]
}
Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΊΠ°ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠ° card ΠΈΠ· ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° FormComponent:
import { Component, Input } from '@angular/core';
import { Card } From '../app.component';
@Component({
selector: 'app-card',
...
})
export class CardComponent {
@Input() card: Card
@Input() index1: number
}
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠΎΠ² ΠΈΠ· ΡΠΈΠΊΠ»Π° ngFor
(index
β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅):
<div class="container">
<app-card
*ngFor="let iterCard of cards; let idx = index"
[card]="iterCard"
[index]="idx + 1"
></app-card>
</div>
Last updated