Apache flex 将变量与属性连接在一起的Air/Flex

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

我在舞台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" 
                       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>