Mencoba mengganti *ngFor="let item of items"
dengan alternatif virtualScroll tidak membuat item apa pun (tidak ada yang ditambahkan di dom) atau setiap virtualItem kosong jika item adalah Immutable.List. Immutable.List adalah enumerable dan dengan demikian berfungsi dengan baik dengan ngFor dan karena angular2 dan kekekalan bekerja dengan sangat baik, saya yakin ini akan berhasil.
Render item dari daftar yang tidak dapat diubah dengan benar
Versi ionik yang mana? 1.x atau 2.x
Ionik 2 Beta 11
http://plnkr.co/edit/2c5ZIyDyGb12kwtQ4jXW?p=preview
Jalankan ionic info
dari terminal/cmd Prompt: (rekatkan output di bawah)
Cordova CLI: 6.3.0
Versi tegukan: CLI versi 3.9.1
Gulp lokal: Versi lokal 3.9.1
Versi Kerangka Ionik: 2.0.0-beta.11
Versi CLI Ionik: 2.0.0-beta.36
Versi Lib Aplikasi Ionic: 2.0.0-beta.19
versi penyebaran ios: 1.8.6
versi ios-sim: 5.0.6
OS: Mac OS X El Capitan
Versi Node: v4.3.1
Versi Xcode: Xcode 7.3.1 Versi build 7D1014
Untuk menambah masalah ini, setelah RC0 final sudut itu digunakan, menyediakan array objek yang tidak dapat diubah ke dalam VirtualScroll menyebabkan penurunan kinerja yang parah karena VirtualScroll melakukan pemicu deteksi perubahannya sendiri yang mengarah ke perbandingan mendalam (melalui devModeEqual) dari objek yang tidak dapat diubah yang hanya mengambil jumlah gila waktu.
Saya percaya VirtualScroll harus kompatibel dengan strategi deteksi perubahan OnPush untuk mendukung objek yang tidak dapat diubah.
PEMBARUAN 20/04/17:
Saya percaya bahwa ini tidak lagi terjadi, karena perbandingan item menggunakan perbandingan diff Angular4.0 yang memperhitungkan item yang tidak dapat diubah, tetapi masalah enumerasi Daftar di dalam Gulir Virtual masih tetap tidak berubah.
Ini masih menjadi masalah pada Ionic terbaru (v3.0.1) dan ini adalah plunker yang diperbarui yang menunjukkan masalah sekali lagi.
http://plnkr.co/edit/2Pz0fIX9MV7er12UaFRf?p=preview
Aplikasi kami menggunakan set dan daftar yang tidak dapat diubah di mana-mana, tetapi karena fakta bahwa kami harus menampilkan 1000-an catatan dalam daftar yang dapat digulir, kami harus menggunakan gulir virtual. Ini mengharuskan semua data dikonversi kembali ke objek yang bisa berubah (sangat mahal) dan semua komponen yang digunakan di dalam gulir virtual harus menerima objek yang bisa berubah juga.
Dengan cara ini kami agak terjebak karena kami harus menggunakan gulir virtual untuk kinerja yang lebih baik, tetapi kami menurunkan kinerja karena mencoba agar kompatibel dengan gulir virtual.
Terima kasih untuk masalah ini! Masalah ini sedang ditutup karena tidak aktif. Jika ini masih menjadi masalah dengan versi terbaru Ionic, harap buat masalah baru dan pastikan template terisi penuh.
Terima kasih telah menggunakan Ionic!
Komentar yang paling membantu
Untuk menambah masalah ini, setelah RC0 final sudut itu digunakan, menyediakan array objek yang tidak dapat diubah ke dalam VirtualScroll menyebabkan penurunan kinerja yang parah karena VirtualScroll melakukan pemicu deteksi perubahannya sendiri yang mengarah ke perbandingan mendalam (melalui devModeEqual) dari objek yang tidak dapat diubah yang hanya mengambil jumlah gila waktu.
Saya percaya VirtualScroll harus kompatibel dengan strategi deteksi perubahan OnPush untuk mendukung objek yang tidak dapat diubah.
PEMBARUAN 20/04/17:
Saya percaya bahwa ini tidak lagi terjadi, karena perbandingan item menggunakan perbandingan diff Angular4.0 yang memperhitungkan item yang tidak dapat diubah, tetapi masalah enumerasi Daftar di dalam Gulir Virtual masih tetap tidak berubah.