2013-05-06 39 views
2

在Sencha Touch中的DOM操作成功後,他們的事件是否可用?在Sencha Touch中操作DOM後的事件

我想測量呈現1000個元素的列表所需的時間。 爲此,當列表繪像,所以當列表被初始化,stoppend啓動一個定時器:

listeners: { 
initialize: function() { 
    start = new Date(); 
    var store = Ext.getStore('Songs'); 
    for (var i = 1; i <= 1000; i++) { 
     store.add({id: i}); 
    } 
}, 
painted: function() { 
    stop = new Date(); 
    Ext.Msg("Timer", stop - start); 
} 
} 

的畫事件是triggerd DOM操作之前,所以當rentertime彈出的1000個listItems中是不可見的。 在DOM被操作並且列表被更新之後是否還有其他觸發事件?
或者是否有另一種方法來衡量完成此操作所需的時間?

映入眼簾, 桑德凡Loock

+0

Ext.dataview.component.ListItemView - >繪製事件? – Dinkheller 2013-08-01 12:37:03

+0

如果您使用的是列表,那麼您可能只能使用<可見Listitems的數量> + 1(無限:true)。通常只有本地存儲而不是無限列表的商店變得很慢。 – Dinkheller 2013-08-01 12:54:17

回答

0

不幸的是,你不回答,所以我只能猜測:

  • 您2單獨添加每個項目到店裏來。在Sencha Touch中這會消耗時間。最好創建一組項目並一次添加它們。
  • 如果要添加項目並且商店的更新時間過長,請停止對商店進行排序。
  • 如果您對列表感興趣,您最好在事件發生前後使用。像之前updatedata和更新後的數據。或者你可以將開始添加到第一個itemTpl。

但是,無限列表的繪畫不會佔用任何實時時間。所以DOM部分真的不是你想要的。

如果您使用的是數據視圖,則可能會有所不同。