Ionic-framework: VirtualScrollはImmutable.Listでは機能しません

作成日 2016年09月01日  ·  3コメント  ·  ソース: ionic-team/ionic-framework

問題の簡単な説明:

*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

stale issue

最も参考になるコメント

この問題に加えて、その角度ファイナルが使用されたRC0の後、VirtualScrollに不変オブジェクトの配列を提供すると、VirtualScrollが独自の変更検出トリガーを実行し、不変オブジェクトの詳細な比較(devModeEqualを介して)につながるため、パフォーマンスが大幅に低下します。クレイジーな時間がかかっています。
不変オブジェクトをサポートするには、VirtualScrollがOnPush変更検出戦略と互換性がある必要があると思います。

更新20/04/17:
アイテム比較では不変アイテムを説明するAngular4.0diff比較が使用されているため、これはもはや当てはまらないと思いますが、VirtualScroll内のリスト列挙の問題は変更されていません。

全てのコメント3件

この問題に加えて、その角度ファイナルが使用された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をご利用いただきありがとうございます。

このページは役に立ちましたか?
0 / 5 - 0 評価