Apache flex 将变量与属性连接在一起的Air/Flex
我在舞台id上有三个文本框=红色、蓝色和绿色,与我的屏幕上的键相同 cars对象/数组Apache flex 将变量与属性连接在一起的Air/Flex,apache-flex,actionscript,air,Apache Flex,Actionscript,Air,我在舞台id上有三个文本框=红色、蓝色和绿色,与我的屏幕上的键相同 cars对象/数组 <?xml version="1.0" encoding="utf-8"?> <s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xm
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" creationComplete="carsToBox()">
<fx:Script>
<![CDATA[
public function carsToBox():void{
var cars:Object={red:"300zx",blue:"Skyline",green:"Supra"};
for(var tempObj:String in cars)
{
tempObj.text= cars[tempObj];
}
}
]]>
</fx:Script>
<s:TextInput x="65" y="53" id="red"/>
<s:TextInput x="64" y="88" id="blue"/>
<s:TextInput x="64" y="118" id="green"/>
</s:WindowedApplication>
所以我认为“tempObj.text”应该等于red.text,但我不能将“tempObj”与“.text”一起使用。“有什么方法可以做到这一点吗?基本上,您的tempObj实际上是cars对象的属性名称。为了清晰起见,我将其重命名为prop。由于汽车的属性名称与textInput控件的属性名称相同,因此您可以这样使用该名称:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo" creationComplete="carsToBox()">
<fx:Script>
<![CDATA[
public function carsToBox():void
{
var cars:Object={red:"300zx",blue:"Skyline",green:"Supra"};
for(var prop:String in cars)
{
this[prop].text = cars[prop]
}
}
]]>
</fx:Script>
<s:TextInput x="65" y="53" id="red"/>
<s:TextInput x="64" y="88" id="blue"/>
<s:TextInput x="64" y="118" id="green"/>
</s:WindowedApplication>