4

多くのコンテンツを表示するために、アプリ内で EmberJS とハンドルバーを使用しています。コントローラーの内部にはstream、データを保持する配列があります。その配列に基づいてstream、特定のテンプレートが選択され、単一のエントリが正しい方法で表示されます。

これで、エントリを表示する順序の種類が異なります (時間順、ユーザー順など)。order 関数内で、エントリのプロパティに基づいて計算を行う必要があります。順序を変更するときは、配列をクリアするために呼び出しthis.("stream").clear()、古いエントリを新しい順序で埋めます。Ember は変更を検出し、Handlebar テンプレートの再レンダリングを引き起こします。

問題は、約 1 秒間 (リストにさらにエントリがある場合はさらに長く)、ページが空白になり、新しい順序でエントリが表示されることです。したがって、レンダリングされたビューを再利用して (コンテンツは変更されません)、このプロセスをより高速にすることができるかどうか疑問に思っていました。

レンダリングされたビューをキャッシュなどに保持するように Ember に指示する方法はありますか? そして、DOM に挿入するときにそれらを再利用するには?

4

1 に答える 1

3

ビューの再利用は、私たちが取り組んできたことです。私は、再利用をうまく抽象化する ListView でいくつかの作業を行ったブランチを持っています。

このブランチにあります: https://github.com/ebryn/ember.js/tree/list-view

対象のファイルは次のとおりです。

テーブルをお探しなら、Addepar がember-tableをリリースしています。

于 2013-01-15T05:41:26.280 に答える