2010-09-28 74 views
0

我對我所結合的數組集合到它的proeprties中的一個的定製組件:Flex組件屬性更改事件

<comp:MyComp id="comp" prop="{images}" /> 

圖像是一個ArrayCollection

在組件的代碼我想要知道每次更新道具時要聽哪個事件props.I嘗試過道具上的setter,但是道具初次設置時,setter只會被調用一次。我嘗試了收集活動,但我收到了「添加」和「刪除」事件上發送的「更新」事件,我寧願不必管理這些事件。那麼是否有一個事件(彈性或其他)每次通過可綁定屬性更新組件屬性時觸發?

回答

0

我想你想聽prop屬性上的collectionChange事件。每當ArrayCollection中的元素髮生更改時,這應該會觸發。

請注意,更改圖像來源不會觸發collectionChange事件,也不會觸發prop setter。

+0

它的確如此,但正如我在我的帖子中所說的,它會針對不同事件類型的每次更改都會觸發幾次。我寧願將與該物業有關的事件視爲財產。至於圖像,它被賦值改變了:images = collection – Tarek 2010-09-28 20:47:41

+0

你原來的文章沒有指定「collectionChange」事件。即使如此「images = collection」也不會觸發collectionChange事件。向我們展示您的圖像屬性的實現。你讓它變得可綁嗎?您的set方法是否觸發propertyChange事件? – JeffryHouser 2010-09-28 20:51:40

+0

的確是這個問題「圖像=集合」。當我期待「添加」或「刪除」時,這是觸發類似'更新'的CollectionChange事件。所以解決方法是在圖像上使用addItem或完全繞過它,並將我的組件綁定到「集合」 – Tarek 2010-10-06 15:46:54