對於速度問題,我們使用了我們的ember代碼,我試圖找到切換視圖上下文的方式。ember.js從javascript切換視圖上下文
我們所擁有的樣本: {{collection tagName="tbody" contentBinding="App.Controller.allTickets" itemViewClass="App.View.TicketList"}}
App.View.TicketList已作爲模板票證列表 App.Controller.allTickets是ArrayController。
問題是App.Controller.allTickets的內容數組中的每個項目都是一個票證對象(該模板的票證列表顯示)。票證對象具有計算在票證列表模板中顯示的屬性。我們在內容數組中有很多Ticket對象(> 1000),只是創建它們,將它們推送到內容數組中,而模板在瀏覽器中可見時需要花費大量時間(> 2分鐘)。
我想要做的是創建一個系統,其中App.Controller.allTickets中的前10個票據對象是'真正的'票據對象,而其餘的是虛擬對象(像票據對象但只有默認值並沒有計算的屬性)。 然後我正在考慮一個函數,它將監視票證列表上的滾動事件,並且當票證(與Ticket-List模板一起顯示)滾動到div的可見部分時,這是一張假票證,然後改變將Ticket-List模板的上下文映射到正確的Ticket Object,然後重新顯示該視圖。
簡而言之,如何更改JavaScript中的視圖/模板的上下文?