2011-08-05 87 views
0

將數據注入到itemrenderer中是一個壞主意。我問這個問題的原因是每件商品的狀態都依賴於不同的數據來源。因此,原始數據僅用於顯示新項目,但可能需要兩到三個其他數據集合才能確定項目的行爲。有一個更好的方法嗎?我應該使用其他數據源創建一個自定義DataGroup作爲此自定義容器上的屬性,然後將數據源從itemrenderer引用到父級?將屬性注入到itemrenderer中

此外,我使用swiz如果這很重要或有所幫助。

+0

要回答你的第一個問題 - 是的。向數據渲染器注入數據總是一個糟糕的主意。 Flex僅爲可視區域中的項目數量(+一對緩衝區)創建項目管理器,因此它們將被回收。這種回收意味着注入物品管理員是不好的。 –

回答

1

事實上,這通常不是一個好主意,設置渲染器的數據屬性會更好,並且確保數據包含渲染器所需的所有內容。

如果渲染器需要來自其他數據集合的信息,只需在將其分配給渲染器之前設置該項目的數據即可。

的方式,我看到它應該是這樣的:

控制器
- 數據採集1
- 數據採集2
- 數據採集3

首先,所述控制器從所述收集數據三個數據收集,並基於它們創建一些數據D

最後,控制器將該數據D分配給渲染器。這樣渲染器就不依賴於其他外部數據收集。

相關問題