Apache flex flex 4.6在作为变量传递给函数时访问对象ID

Apache flex flex 4.6在作为变量传递给函数时访问对象ID,apache-flex,variables,actionscript,mxml,Apache Flex,Variables,Actionscript,Mxml,flex 4.6 我想知道如何使用传递给函数的var访问/更改对象,例如,如果我有idvg1Text,使用 Application.application.vg1Text.text = txt2chg+":"+id2chg; 工作但是 Application.application.id2chg.text = txt2chg+":"+id2chg; 失败于 ReferenceError:Error#1069:Property id2chg找不到 thx艺术 模块 public functio

flex 4.6

我想知道如何使用传递给函数的var访问/更改对象,例如,如果我有id
vg1Text
,使用

Application.application.vg1Text.text = txt2chg+":"+id2chg;
工作但是

Application.application.id2chg.text = txt2chg+":"+id2chg;
失败于

ReferenceError:Error#1069:Property id2chg找不到

thx艺术

模块

public function chgFuncB1(txt2chg, id2chg):void {
    Application.application.id2chg.text = txt2chg+":"+id2chg;
    }
public function myFunc() : void{
   chgFuncB1("New Text", "vg1Text");
   }
主要应用

<s:VGroup id="vg1">
    <s:Label id="vg1Text" text="Module loaded in Spark VGroup container:"/>  
</s:VGroup>

要实现这一点,可以使用数组表示法(希望这是正确的名称)。这样,变量
id2chg
中包含的字符串就可以用作属性名

public function chgFuncB1(txt2chg:String, id2chg:String):void {
    Application.application[id2chg].text = txt2chg+":"+id2chg;
    }

Thx@Sunil我认为问题在于,当代码运行时,它将id2chg视为对象名而不是要替换的变量,或者如果它是本地变量,它将返回NULL,不是吗?这是正确的,语句
Application.Application.id2chg.text
上没有变量替换或替换。为了使该行有意义,您需要在主应用程序中有一个id为“idc2chg”的对象(或在该名称的脚本块中声明的变量)。让我编辑我的答案,我刚刚意识到你想做什么…好吧,那应该行得通。。。我有点糊涂,只是被错误缠住了:)一点也不糊涂,对同一个问题有很多观点,谢谢你的快速反应。艺术