【问题标题】:Assign variable to MXML component ID将变量分配给 MXML 组件 ID
【发布时间】:2011-09-25 21:21:31
【问题描述】:

我有我的自定义组件,例如几个标签。我想传递给我的组件值,该值将分配给标签的 id。

代码:

<fx:Script>
        <![CDATA[
            [Inspectable]
            [Bindable]
            public var test:String = "asd";
        ]]>
</fx:Script>
<s:Label id="{test}" text="etc"/>

错误:{test} 不是有效标识符

我什至可以这样做吗?

【问题讨论】:

  • 我能问一下为什么吗?这样做有什么意义?

标签: apache-flex actionscript-3 flash-builder mxml flex4.5


【解决方案1】:

不,你不能。你必须明白,当你写一个像这样的 mxml 组件时

<s:Group>
    <s:Label id="myLabel" />
</s:Group>

它会生成类似的 ActionScript 代码

public class MyClass extends Group {
    public var myLabel:Label;
}

(请注意,我在这里过度简化了代码以传达最重要的部分)。

如您所见,您的“id”实际上是一个属性名称。而且您不能在运行时更改属性的名称吗?

【讨论】:

  • 我曾希望,也许有某种方法可以动态生成属性名称 - 我知道一种语言是可能的。但不幸的是不在这里。感谢您的帮助!
猜你喜欢
  • 2018-12-19
  • 2015-03-12
  • 2016-12-12
  • 2022-01-01
  • 2023-03-04
  • 2020-11-01
  • 2018-10-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多