如何在MXML组件的ID声明中使用String常量

时间:2011-05-25 17:21:13

标签: flex constants mxml identifier

我想知道,如果你有多个组件文件使用相同的子组件(但稍微修改了参数),是否可以为该子组件分配一个带字符串常量的ID?

当我在Flex SDK 3.5中尝试以下操作时,它会给我一个编译错误:

<!-- Example -->
<mx:Button id="{ComponentIDs.ID_BUTTON_ONE}" />

错误:

"{ComponentIDs.ID_BUTTON_ONE}" is not a valid identifier.

是否有可能实现这一点? ID字段的语法是否不同?

2 个答案:

答案 0 :(得分:3)

MXML中的组件ID在编译时进行评估。所以你不能在那里使用任何表达方式。

答案 1 :(得分:1)

所以这意味着即使对于状态标签,在其闪亮的新火花版本中,也不能在mxml中使用任何形式的String常量。当然,下一代开发人员想到的是如何在ActionScript中实现它,并且使用Object表示法在代码中创建状态的所有事情都变得很糟糕......直到你意识到includeIn标记是一个mxml编译器的东西和方法对ActionScript没有任何意义......所以,你必须在你的代码中继续使用字符串文字