Kode Saya:
<li *ngFor="let item of list; let i=index" class="dropdown-item" (click)="onClick(item)">
<template [ngIf]="i<11">{{item.text}}</template>
</li>
Saya mencoba untuk hanya menampilkan 10 elemen daftar pada titik mana pun. Seperti yang disarankan dalam jawaban di sini , saya menggunakan ngIf tetapi ini menghasilkan item daftar kosong (di luar 10) muncul di halaman.
slice:0:10
mempengaruhi array asli ??slice
mengembalikan salinan dan tidak mempengaruhi larik asli| slice:0:10
pipa, besar, itu membantu saya untuk membangun daftar dengan "Lihat lebih" tombol yang bertahap yangslices
's argumen kedua.Anda dapat langsung menerapkan
slice()
ke variabel. Demo StackBlitzsumber
Ini bekerja dengan sangat baik:
sumber
Sebagai contoh, katakanlah kita hanya ingin menampilkan 10 item pertama dari sebuah array, kita bisa melakukan ini menggunakan SlicePipe seperti ini:
sumber
Selain jawaban @ Gunter, Anda dapat menggunakan trackBy untuk meningkatkan kinerja. trackBy menggunakan fungsi yang memiliki dua argumen: index dan item. Anda dapat mengembalikan nilai unik pada objek dari fungsi tersebut. Ini akan menghentikan rendering ulang item yang sudah ditampilkan di ngFor. Di html Anda, tambahkan trackBy seperti di bawah ini.
Dan tulis fungsi seperti ini di file .ts Anda.
sumber
html
naskah ketikan
css
sumber
Di file ts Anda
sumber