我知道可以使组件的参数依赖于变量,前提是该变量包含 [Bindable] 标记。这意味着更新 Bindable 变量的值会自动更新组件。
是否可以使另一个变量依赖于 Bindable 变量?
在下面的示例中,我有一个绑定的变量 btnClicked。当 btnClicked 被调用的函数 btnClick() 更改时,TextArea 中的文本将按预期更新。
我希望能够在更新 btnClicked 时更新另一个变量 btnText。我不知道如何传达这种依赖关系。在下面的代码中,btnText 的值最初是预期的“clickMe”。但是,当 btnClicked 更改时,按钮上的文本不会更新为“unclickMe”。
<fx:Script>
<![CDATA[
[Bindable]
public var btnClicked:Boolean = false;
public function btnClick():void{
btnClicked = !btnClicked;
}
[Bindable]
public function get btnText():String{
return btnClicked?"unclickMe":"clickMe";
}
]]>
</fx:Script>
<s:Button click="btnClick()" label="{btnText}"/>
<s:TextArea y="50" text="{btnClicked?'Button is clicked':'Button is unclicked'}"/>
如何更改上面的代码,以便在更改 btnClicked 时自动更新 btnText?
是否有可能有一个任意长的连接变量链,每个变量都在前一个更新时更新?