我在ActionScript組件中綁定值時遇到問題。我基本上想要將組件中的變量值設置爲模型中的值,並且在模型值更新時讓組件變量自動更新。我認爲我只是不完全理解Flex中的數據綁定是如何工作的 - 在使用MXML組件時這不是問題,但是在使用ActionScript類時,綁定不起作用。如何在ActionScript類中實現數據綁定?
這是我使用的代碼,其中的值並不具有約束力。
package
{
public class Type1Lists extends TwoLists
{
public function Type1Lists()
{
super();
super.availableEntities = super.composite.availableType1Entities;
super.selectedEntities = super.composite.selectedType1Entities;
}
}
}
package
{
public class Type2Lists extends TwoLists
{
public function Type2Lists()
{
super();
super.availableEntities = super.composite.availableType2Entities;
super.selectedEntities = super.composite.selectedType2Entities;
}
}
}
/* TwoLists.mxml */
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
public var __model:ModelLocator = ModelLocator.getInstance();
public var composite:Composite =
__model.selectedComposite;
[Bindable]
public var availableEntities:ArrayCollection;
[Bindable]
public var selectedEntities:ArrayCollection;
]]>
</mx:Script>
<mx:List id="availableEntitiesList" dataProvider="{availableEntities}" />
<mx:List id="selectedEntitiesList" dataProvider="{selectedEntities}" />
</mx:HBox>
這是此問題的正確答案。 – HDave 2011-10-19 13:24:41