*ngFor="let item of items"
をvirtualScrollの代替で置き換えようとすると、アイテムがレンダリングされない(domに何も追加されない)か、アイテムがImmutable.Listの場合、各virtualItemは空になります。 Immutable.Listは列挙可能であるため、ngForで正常に機能します。また、angular2と不変性は非常にうまく機能するため、これは機能するはずです。
不変リストのアイテムを正しくレンダリングする
どのイオンバージョン? 1.xまたは2.x
Ionic 2 Beta 11
http://plnkr.co/edit/2c5ZIyDyGb12kwtQ4jXW?p=preview
terminal / cmdプロンプトからionic info
を実行します:(以下に出力を貼り付けます)
Cordova CLI:6.3.0
Gulpバージョン:CLIバージョン3.9.1
Gulpローカル:ローカルバージョン3.9.1
Ionic Frameworkバージョン:2.0.0-beta.11
Ionic CLIバージョン:2.0.0-beta.36
Ionic App Libバージョン:2.0.0-beta.19
ios-deployバージョン:1.8.6
ios-simバージョン:5.0.6
OS:Mac OS X El Capitan
ノードバージョン:v4.3.1
Xcodeバージョン:Xcode7.3.1ビルドバージョン7D1014
この問題に加えて、その角度ファイナルが使用されたRC0の後、VirtualScrollに不変オブジェクトの配列を提供すると、VirtualScrollが独自の変更検出トリガーを実行し、不変オブジェクトの詳細な比較(devModeEqualを介して)につながるため、パフォーマンスが大幅に低下します。クレイジーな時間がかかっています。
不変オブジェクトをサポートするには、VirtualScrollがOnPush変更検出戦略と互換性がある必要があると思います。
更新20/04/17:
アイテム比較では不変アイテムを説明するAngular4.0diff比較が使用されているため、これはもはや当てはまらないと思いますが、VirtualScroll内のリスト列挙の問題は変更されていません。
これは最新のIonic(v3.0.1)の問題であり、ここにもう一度問題を示す更新されたプランカーがあります。
http://plnkr.co/edit/2Pz0fIX9MV7er12UaFRf?p=preview
私たちのアプリはどこでも不変のセットとリストを使用していますが、スクロール可能なリストに数千のレコードを表示する必要があるため、仮想スクロールを使用する
このように、パフォーマンスを向上させるために仮想スクロールを使用する必要があるため、一種の罠にかかっていますが、仮想スクロールとの互換性を確保しようとしているため、パフォーマンスが低下しています。
問題をありがとう! 非アクティブなため、この問題は解決されています。 これが最新バージョンのIonicで引き続き問題になる場合は、新しい問題を作成し、テンプレートが完全に入力されていることを確認してください。
Ionicをご利用いただきありがとうございます。
最も参考になるコメント
この問題に加えて、その角度ファイナルが使用されたRC0の後、VirtualScrollに不変オブジェクトの配列を提供すると、VirtualScrollが独自の変更検出トリガーを実行し、不変オブジェクトの詳細な比較(devModeEqualを介して)につながるため、パフォーマンスが大幅に低下します。クレイジーな時間がかかっています。
不変オブジェクトをサポートするには、VirtualScrollがOnPush変更検出戦略と互換性がある必要があると思います。
更新20/04/17:
アイテム比較では不変アイテムを説明するAngular4.0diff比較が使用されているため、これはもはや当てはまらないと思いますが、VirtualScroll内のリスト列挙の問題は変更されていません。