我在使用Flex(或Flash)4中的状态时遇到一些困难。让我们说我的应用程序有三种状态;默认(基本)状态,状态1和状态2.
状态1应始终基于基本状态,这很容易实现。但是,我希望状态2基于当前状态(基数或状态1)。我不能为我的生活弄清楚。我尝试将状态1的basedOn属性设置为“this.currentState”,但这只会导致我的浏览器崩溃。
<s:states>
<s:State name="default"/>
<s:State name="state1"/>
<s:State name="state2" basedOn="{this.currentState}"/>
</s:states>
<s:TitleWindow id="configWindow" includeIn="state1" width="250" height="100%" close="configWindow_closeHandler(event)"/>
<s:Panel id="settings" includeIn="state2" width="200" height="200"/>
答案 0 :(得分:1)
basedOn不是Bindable属性,这就是代码中值不变的原因。
理论上,它是一个读/写属性,因此您可以在运行时更改它;但您必须手动执行此操作,可能是在ActionScript中。
根据您的代码段;我不明白你为什么要这样做。一旦你将状态改为'state2',你就不会进入一个奇怪的循环吗?