私たちの ember コードで発生している速度の問題について、ビューのコンテキストを切り替える方法を見つけようとしています。
私たちが持っているもののサンプル:
{{collection tagName="tbody" contentBinding="App.Controller.allTickets" itemViewClass="App.View.TicketList"}}
App.View.TicketList はテンプレートとして Ticket-List を持ちます App.Controller.allTickets は ArrayController です。
問題は、App.Controller.allTickets の content 配列内のすべての項目がチケット オブジェクト (Ticket-List が表示するテンプレート) であることです。チケット オブジェクトには、Ticket-List テンプレートに表示される計算されたプロパティがあります。コンテンツ配列に多数の Ticket オブジェクト (> 1000) があり、それらを作成し、ブラウザでテンプレートが表示されている間にそれらをコンテンツ配列にプッシュするだけで、多くの時間がかかります (> 2 分)。
私がやろうとしているのは、App.Controller.allTickets の最初の 10 個のチケット オブジェクトが「実際の」チケット オブジェクトであり、残りがダミー オブジェクトであるシステムを作成することです (オブジェクトはチケット オブジェクトに似ていますが、デフォルト値のみで、計算されたプロパティはありません)。 )。次に、チケットリストのスクロールイベントを監視し、チケット(Ticket-Listテンプレートで表示)がdivの表示部分にスクロールされたときに、ダミーチケットである関数を考えています。チケット リスト テンプレートのコンテキストを正しいチケット オブジェクトに追加し、そのビューを再レンダリングします。
つまり、ビュー/テンプレートのコンテキストを JavaScript から変更するにはどうすればよいですか?