Flex数据绑定问题
问题描述:
<mx:Label text="{(item1 as INewsItem).displayName}"/>
在Flex中上面的代码中,我得到这样的警告:Flex数据绑定问题
:数据绑定将无法检测到分配到项目1。
为什么?如何解决它?
答
Thanks Prutswonder。
实际上物品1被声明为一个getter,
这样的:
public function get item1()
所以,我不得不在前面加上这样的:
[Bindable] public function get item1()
答
将显示警告,因为当更新item1
时,数据绑定不会自动刷新。如果您确实需要这种行为,那么当item1
更改时,您无法使用此数据绑定,并且必须手动更新标签文本。
答
如果定义[Bindable] function get item1()
你还需要定义一个function set item1()
,否则Flex将不知道何时分派更改事件。或者你也可以手动调度change事件:
[Bindable(event="item1Change"]
public function get item1() { return ... }
每当上物品1有新的变化,你分派事件:
dispatchEvent(new Event("item1Change"));