0
我将一个组件ID传递给一个函数,然后使用该ID作为变量。使用ID作为变量
比如我传递id为 - user_dg
问题我已经是当我这样做的变量痕迹 - this[dg_id]
我得到 - Application0.Canvas662.Canvas878.DataGrid888,当我希望它是 - user_dg
我怎样才能输出实际的组件ID?
我将一个组件ID传递给一个函数,然后使用该ID作为变量。使用ID作为变量
比如我传递id为 - user_dg
问题我已经是当我这样做的变量痕迹 - this[dg_id]
我得到 - Application0.Canvas662.Canvas878.DataGrid888,当我希望它是 - user_dg
我怎样才能输出实际的组件ID?
根据评论;这听起来像是你把错误的东西传递给函数。很可能是组件的一个实例,而不是实际组件的名称。
这有点含糊,因为您没有向我们展示您调用它的方法或方式。但是,像这样:
public function myFunction(component:UIComponent):void{
trace(component);
trace(component.id);
}
会期望一个组件的实例,而不是实际的组件。你可以这样称呼这个功能:
myFunction(myDataGrid);
myFunction(myList);
myFunction(myComboBox)
如果你想传入ID,这将是不寻常的,但你可能做这样的事情:
public function myFunction(componentID:String):void{
trace(this[componentID]);
trace(componentID);
}
而且你可以这样调用它:
myFunction('stringThatRepresentsAVariableName');
myFunction(myDataGrid.id);
etc..
这是极不寻常的在你需要的实际情况使用ID处理。要求一个实例为将来需要维护此代码的人员提供更好的文档。要求字符串ID需要该函数位于ID为小孩的相同组件中;这可能会减少您未来重用或重构的机会。
你试过这个[dg_id] .id吗?自从我在flex上获得了我的双手已经有一段时间了,但它可能是那么简单...... – 2011-12-17 23:41:16
哈哈。谢谢 – Adam 2011-12-18 01:30:37