Arahan adalah cara yang disediakan oleh Angular操作DOM
. Instruksi dibagi menjadi属性指令
dan结构指令
.
Arahan atribut: Ubah tampilan atau perilaku elemen yang ada, bungkus dengan []
.
Instruksi struktural: menambah dan menghapus node DOM untuk mengubah tata letak, gunakan *
sebagai awalan instruksi. [Tutorial terkait yang direkomendasikan: "tutorial sudut"]
1. Instruksi bawaan
1.1 *ngIf
渲染
node DOM atau移除
node DOM berdasarkan kondisi.
<div *ngIf="data.length == 0">Tidak ada data lagi</div>
<div *ngIf="data.length > 0; maka dataList else noData"></div> <ng-template #dataList>Daftar Kursus</ng-template> <ng-template #noData>Tidak ada lagi data</ng-template>
ng-template
digunakan untuk mendefinisikan template. Setelah menggunakan ng-template
untuk mendefinisikan template, Anda dapat menggunakan instruksi ng-container
dan templateOutlet
untuk menggunakannya.
<ng-templat #memuat> <tombol (klik)="login()">masuk</button> <button (klik)="sigup()">sigup</button> </ng-templat> <ng-container *ngTemplateOutlet="memuat"> </ng-container>
1.2 [hidden]
显示
node DOM atau隐藏
node DOM (tampilan) sesuai kondisi.
<div [hidden]="data.length == 0">Daftar Kursus</div> <div [hidden]="data.length > 0">Tidak ada lagi data</div>
1.3 *ngFor
melintasi data untuk menghasilkan
antarmuka struktur HTML Daftar { identitas: nomor nama: tali usia: nomor } daftar: Daftar[] = [ {id: 1, nama: "Zhang San", umur: 20 }, { ID: 2, Nama: "李思", umur: 30 } ]
<li *ngUntuk=" biarkan item dari daftar; misalkan i = indeks; misalkan Genap = genap; misalkan isOdd = ganjil; misalkan isFirst = pertama; biarkan isLast = terakhir; " > </li>
<li *ngFor="biarkan item dalam daftar; trackBy: identifikasi"></li>
identifikasi(indeks, item){ pengembalian barang.id; }
2. Persyaratan perintah khusus
: Mengatur warna latar belakang default untuk elemen, warna latar belakang saat mouse bergerak masuk, dan warna latar belakang saat mouse bergerak keluar.
<div [appHover]="{ bgColor: 'skyblue' }">Halo Angular</div>
impor { AfterViewInit, Directive, ElementRef, HostListener, Input } dari "@angular/core" // Menerima tipe parameter antarmuka Pilihan { bgWarna?: tali } @Direktif({ pemilih: "[appHover]" }) kelas ekspor HoverDirective mengimplementasikan AfterViewInit { //Menerima parameter @Input("appHover") appHover: Opsi = {} // Elemen simpul DOM yang akan dioperasikan: HTMLElement // Dapatkan node DOM untuk dioperasikan pada konstruktor (private elementRef: ElementRef) { ini.elemen = ini.elementRef.nativeElement } // Menetapkan warna latar belakang elemen setelah penyelesaian awal templat komponen ngAfterViewInit() { this.element.style.backgroundColor = this.appHover.bgColor ||. } // Tambahkan event pergerakan mouse ke elemen @HostListener("mouseenter") enter() { this.element.style.backgroundColor = "merah muda" } //Tambahkan event mouse out untuk elemen @HostListener("mouseleave") cuti() { this.element.style.backgroundColor = "biru langit" } }
Peran pipeline adalah格式化组件模板数据
.
1.
Format
tanggal
pipa
bawaan
format
mata uang format mata uang huruf besar Konversikan ke huruf besar kecil Konversikan ke huruf kecil json Format data json{{ tanggal | "yyyy-MM-dd" }}
2. Persyaratan pipa khusus
: string yang ditentukan tidak boleh melebihi Panjang yang ditentukan
<!-- Ini adalah... --> {{'Ini adalah ujian' |. ringkasan: 3}}
// ringkasan.pipe.ts impor {Pipa, PipeTransform } dari '@angular/core'; @Pipa({ nama: 'ringkasan' }); kelas ekspor SummaryPipe mengimplementasikan PipeTransform { transformasi (nilai: string, batas?: angka) { jika (!nilai) mengembalikan nol; biarkan aktualLimit = (batas) ?batas : 50; return value.substr(0, aktualLimit) + '...'; } }
// aplikasi.modul.ts impor { SummaryPipe } dari './summary.pipe' @NgModule({ deklarasi: [ RingkasanPipa ] });