問題は解決しました。以下を参照してください
質問
私はFlexBuilder3で作業しており、2つのActionScript 3クラス(ABC
およびXYZ
)とFlex MXMLプロジェクト(main.mxml
)があります。XYZ
のプロパティとしてのインスタンスがあり、テキストコントロールのFlexプロジェクトでのプロパティを表示( )しABC
たい。XYZ
[Bindable]
残念ながら、変更された場合にのみprop3
更新prop4
してください。prop1
それを確認して変更するためにデバッガーに入りましたprop2
が、テキストコントロールで更新されていません。
コードは次のとおりです。
ABC.as
[Bindable]
public class ABC extends UIComponent {
/* Other properties */
public var xyz:XYZ = new XYZ();
/* Methods that update xyz */
}
XYZ.as
[Bindable]
public class XYZ extends Object {
private var _prop1:uint = 0;
private var _prop2:uint = 0;
private var _prop3:uint = 0;
private var _prop4:uint = 1;
public function get prop1():uint {
return _prop1;
}
public function set prop1(value:uint):void {
_prop1 = value;
}
/* getters and setters for prop2, prop3, and prop4 */
}
main.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:com="com.*" />
<com:ABC id="abc" />
<mx:Text text="{abc.xyz.prop1}" />
<mx:Text text="{abc.xyz.prop2}" />
<mx:Text text="{abc.xyz.prop3}" />
<mx:Text text="{abc.xyz.prop4}" />
</mx:Application>
答え
私が投稿した小さなコードスニペットからは明らかではありませんが、私はそれらのセッターをXYZ
更新_prop3
して使用していました。対照的に、私は彼らのセッターではなく、彼らのプライベート変数_prop4
を更新_prop1
しました。_prop2
したがって、プロパティ1と2は更新イベントをディスパッチしていませんでした。