2011-06-30 111 views
2

我有我的自定義組件,例如幾個標籤。我想傳遞給我的組件值,它將被分配給標籤的ID。將變量分配給MXML組件ID

代碼:

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

錯誤:{}測試是不是一個有效的標識符

我甚至可以做這樣的事情?

+0

請問爲什麼?這樣做有什麼意義? –

回答

6

不,你不能。你必須明白,當你寫這樣

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

MXML組件會生成ActionScript代碼像

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

(請注意,我非常這裏過分簡單化的代碼傳達的最重要的部分)。

正如你可以看到你的'id'實際上是一個屬性名稱。你不能在運行時更改屬性的名稱嗎?

+1

我有希望,也許有一些方法可以動態生成屬性的名稱 - 我知道一種可能的語言。但不幸的是不在這裏。 感謝您的幫助! – Deadman