2010-04-01 140 views
1
<mx:Label text="{(item1 as INewsItem).displayName}"/> 

在Flex中上面的代碼中,我得到這樣的警告:Flex數據綁定問題

:數據綁定將無法檢測到分配到項目1。
爲什麼?如何解決它?

回答

1

Thanks Prutswonder。
實際上物品1被聲明爲一個getter,
這樣的:

public function get item1() 

所以,我不得不在前面加上這樣的:

[Bindable] public function get item1() 
1

將顯示警告,因爲當更新item1時,數據綁定不會自動刷新。如果您確實需要這種行爲,那麼當item1更改時,您無法使用此數據綁定,並且必須手動更新標籤文本。

2

如果定義[Bindable] function get item1()你還需要定義一個function set item1(),否則Flex將不知道何時分派更改事件。或者你也可以手動調度change事件:

[Bindable(event="item1Change"] 
public function get item1() { return ... } 

每當上物品1有新的變化,你分派事件:

dispatchEvent(new Event("item1Change"));