當我更新與Sencha Touch列表(Ext.dataview.List)關聯的商店時,列表UI將自動更新(如在MVVM中)。使Sencha Touch列表(或ExtJS Grid)不遵守商店和自動更新UI?
我正在創建一個移動應用程序,其中有大量數據通過websocket進入,並且商店經常更新。我相信,即使只有一個字段發生變化,整個列表項目也會被重新渲染(使用itemTpl)。正如你可能想象的那樣,這非常慢,我的應用嚴重滯後。
我想通過列表禁用這個「觀察」商店,並使用innerHTML自己更新列表項。有沒有辦法做到這一點?或者有沒有更新商店而不更新用戶界面的方法?
我的其他選擇是節流數據,但這是最後的手段。
這正是我最終做的......我正在使用suspendEvents(true)和resumeEvents()。但是,該列表需要頻繁更新(每秒多次),以便從商店刷新它不可行,因此我必須手動更新DOM。 –
我認爲suspendEvents(true)會排隊暫停事件,並仍然在resumeEvents觸發它們。你可能不想要這樣做,因爲你最終會無緣無故地重複刷新列表。 – OhmzTech
另外,如果您每秒要在一個大列表中手動更新DOM,請注意性能....您是否探索過使用模板成員函數? – OhmzTech