Anda dapat menambahkan arahan ke HTML di proyek Angular Anda. Beberapa mengontrol struktur markup Anda sementara yang lain fokus pada atribut.
Artikel ini akan membahas enam arahan Angular yang paling umum: ngFor, ngIf, ngClass, ngStyle, ngModel, dan ngSwitch.
Apa itu Arahan Sudut?
Arahan sudut memungkinkan Anda untuk menggunakan pernyataan if dan for loop, dan menambahkan perilaku lain ke kode HTML proyek Angular.
Pengarahan | Keterangan |
---|---|
*ngJika | Anda dapat menggunakan ngIf ketika Anda ingin blok HTML tertentu hanya ditampilkan jika memenuhi kondisi tertentu. Misalnya, jika Anda memiliki formulir dengan pop-up yang ditampilkan setelah pengguna memasukkan input untuk bidang tertentu. |
*ngUntuk | Anda dapat menggunakan ngFor jika Anda membutuhkan blok tertentu untuk diulang berkali-kali. Misalnya, jika Anda memiliki daftar item dan perlu menampilkan div untuk setiap item. |
*ngClass | Ini menambahkan gaya bersyarat menggunakan kelas. Jika pernyataan if memenuhi kondisi, itu akan menerapkan kelas yang ditentukan. |
*ngGaya | Ini menambahkan gaya in-line bersyarat. Jika pernyataan if memenuhi kondisi, itu akan menerapkan gaya yang ditentukan. |
*ngModel | Ini memungkinkan Anda melakukan penjilidan dua arah. Ini berarti Anda dapat meneruskan data di kedua arah antara file HTML dan TypeScript. Misalnya, Anda dapat meneruskan nilai atribut dari file TypeScript ke file HTML, dan sebaliknya. |
*ngBeralih | Ini memungkinkan Anda untuk menambahkan pernyataan switch dengan banyak kasus untuk memeriksa banyak nilai. Berdasarkan kasus, elemen HTML tertentu akan ditampilkan. |
Arahan struktural melibatkan struktur elemen HTML. Ini termasuk ngIf, ngFor, dan ngSwitch. Arahan atribut melibatkan perubahan properti elemen HTML. Ini termasuk ngStyle, ngClass, dan ngModel.
Cara Menggunakan ngIf
Untuk menggunakan ngIf, Anda memerlukan kondisi untuk mengevaluasi ke true agar elemen HTML tertentu ditampilkan.
- Tambahkan dua variabel ke file TypeScript Anda. Dalam contoh ini, ada variabel noPlaylists dan variabel untuk menyimpan playlist. Variabel ini akan bernilai true jika panjang larik daftar putar adalah 0.
noPlaylists: boolean = false;
daftar putar: apa saja = [];konstruktor() {}
ngOnInit(): batal {
if (this.playlists.length 0) {
this.noPlaylist = benar;
}
} - Dalam HTML, tambahkan pernyataan *ngIf. Jika noPlaylists bernilai true, maka akan muncul pesan error yang terdapat pada span di bawah ini. Jika tidak, tidak akan. Anda dapat menerapkan ngIf ke berbagai jenis tag HTML.
Tidak ada daftar putar yang tersedia.
- Untuk menambahkan komponen "else" ke pernyataan if, Anda perlu menambahkan kode HTML untuk bagian "else" di blok template.
Tidak ada daftar putar yang tersedia.
Daftar putar ditemukan.
Cara Menggunakan ngFor
Jika Anda perlu mengulang sejumlah blok pada halaman, Anda dapat menggunakan direktif ngFor.
- Dalam file TypeScript, tambahkan item ke array.
daftar putar: apa saja = [
{"name": "Rock", "numberOfSongs": 5},
{"name": "Kontemporer", "numberOfSongs": 9},
{"name": "Populer", "numberOfSongs": 14},
{"name": "Acoustic", "numberOfSongs": 3},
{"name": "Lagu Pernikahan", "numberOfSongs": 25},
{"name": "Metal", "numberOfSongs": 0},
]; - Dalam file HTML, tambahkan pernyataan *ngFor.
Di dalam ngFor, Anda akan dapat mereferensikan setiap objek dalam array menggunakan variabel "daftar putar". "playlist.name" dan "playlist.numberOfSongs" akan mencetak kedua atribut di dalam menandai.Daftar putar ditemukan.
{{daftar putar.nama}}
{{playlist.numberOfSongs}} lagu
Cara Menggunakan ngClass
Anda dapat mengubah kelas gaya yang digunakan div tertentu, berdasarkan suatu kondisi.
- Tambahkan dua kelas ke dalam file CSS dengan gaya yang berbeda. Anda dapat menambahkan jenis apa pun gaya CSS Anda inginkan, seperti warna latar belakang yang berbeda.
.lagu {
warna latar: #F7F5F2;
}
.noLagu {
warna latar: #FFA8A8;
} - Di dalam for-loop dari langkah sebelumnya, tambahkan direktif atribut ngClass. [ngClass]="playlist.numberOfSongs > 0? 'lagu': 'noSongs'" menggunakan yang sama operator ternary itu JavaScript dan penggunaan bahasa lainnya.
Jika jumlah lagu lebih besar dari nol, kelas "lagu" akan diterapkan ke div. Ini akan memberi div warna latar belakang abu-abu. Jika tidak, jika jumlah lagu adalah nol, kelas "noSongs" akan diterapkan ke div. Ini akan memberi div warna latar belakang merah.
{{daftar putar.nama}}
{{playlist.numberOfSongs}} lagu
Cara Menggunakan ngStyle
Alih-alih menggunakan ngClass, Anda dapat menggunakan ngStyle jika Anda ingin menerapkan gaya sebaris alih-alih menata gaya melalui kelas.
- Ubah ngClass dari langkah sebelumnya untuk menggunakan ngStyle sebagai gantinya.
{{daftar putar.nama}}
{{playlist.numberOfSongs}} lagu
[ngStyle]="{'background-color': playlist.numberOfSongs > 0? '#F7F5F2': '#FFA8A8', 'color': playlist.numberOfSongs > 0? 'hitam': 'biru tua' }"
Cara Menggunakan ngModel
Anda dapat menggunakan ngModel untuk pengikatan dua arah. Ini berarti Anda dapat meneruskan nilai atribut antara file HTML dan TypeScript.
Misalnya, Anda memiliki elemen input dalam file HTML yang menggunakan ngModel. Atribut ngModel terikat ke variabel dalam file TypeScript. Saat Anda memasukkan nilai ke dalam input, itu akan memperbarui variabel dalam file TypeScript.
Perubahan yang dibuat pada atribut dalam file TypeScript juga akan tercermin dalam HTML jika div lain menggunakan variabel itu.
- Di app.module.ts, tambahkan FormsModule ke dalam impor di bagian atas file, dan juga ke larik impor.
impor { FormsModule } dari '@angular/forms';
@NgModule({
impor: [
...
FormulirModul
]
}) - Tambahkan atribut dalam file TypeScript untuk melacak saat pengguna mengganti nama daftar putar.
mengganti nama Daftar Putar: boolean = false;
- Jadikan variabel daftar putar menjadi publik sehingga ini dapat diakses saat menggunakan ngModel dalam file HTML.
daftar putar publik: apa saja = [
...
]; - Tambahkan dua tombol di file HTML, yang memungkinkan Anda mengganti nama atau membatalkan penggantian nama setiap daftar putar.
- Tambahkan kotak input di dalam div setiap daftar putar. Masukan hanya akan terlihat ketika Anda mengklik Ganti Nama Daftar Putar tombol. Kotak input ini akan memiliki ngModel yang terikat ke "playlist.name".
Saat Anda memasukkan nama baru ke dalam kotak input, playlist.name akan diperbarui dalam file TypeScript. Ini juga akan memperbarui div lain dalam file HTML yang menggunakan playlist.name.
Cara Menggunakan ngSwitch
Anda dapat menggunakan ngSwitch untuk menampilkan elemen tertentu berdasarkan kasus di dalam kasus sakelar.
- Tambahkan atribut "peringkat" baru ke objek di dalam larik daftar putar. Atribut ini dapat berupa angka antara 0 dan 5 (inklusif).
daftar putar publik: apa saja = [
{"name": "Rock", "numberOfSongs": 5, "rating": 5},
{"name": "Contemporary", "numberOfSongs": 9, "rating": 1},
{"name": "Populer", "numberOfSongs": 14, "rating": 5},
{"name": "Acoustic", "numberOfSongs": 3, "rating": 4},
{"name": "Lagu Pernikahan", "numberOfSongs": 25, "rating": 5},
{"name": "Metal", "numberOfSongs": 0, "rating": 0},
]; - Tambahkan kotak sakelar di bawah nama dan jumlah lagu untuk daftar putar. Berdasarkan nomor peringkat untuk daftar putar, daftar putar akan menampilkan jumlah bintang yang benar.
{{daftar putar.nama}}
{{playlist.numberOfSongs}} lagu
★★★★★★★★★★★★★★★Tidak ada peringkat
Belajar Lebih Banyak Dengan Angular
Sekarang Anda telah mempelajari dasar-dasar direktif Angular, termasuk cara menggunakan ngIf, ngFor, ngClass, ngStyle, ngModel, dan ngSwitch. Anda dapat menggabungkannya untuk membuat antarmuka pengguna yang lebih kompleks. Masih banyak lagi yang bisa Anda jelajahi dan pelajari tentang Angular, tidak peduli apakah Anda seorang pemula atau pada tingkat mahir.
8 Kursus Sudut Teratas untuk Pemula dan Pengguna Tingkat Lanjut
Baca Selanjutnya
Topik-topik yang berkaitan
- Pemrograman
- Pemrograman
- JavaScript
- HTML
- CSS
Tentang Penulis
Sharlene adalah Penulis Teknologi di MUO dan juga bekerja penuh waktu di Pengembangan Perangkat Lunak. Dia memiliki gelar Sarjana IT dan memiliki pengalaman sebelumnya dalam Penjaminan Mutu dan bimbingan Universitas. Sharlene suka bermain game dan bermain piano.
Berlangganan newsletter kami
Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!
Klik di sini untuk berlangganan