例如,在我的 flex 移动应用程序中,我有一个纵向和一个横向状态。两者都具有相同的组件,但它们在每个状态下使用不同的 HGroups 和 VGroups 进行布局。如果我只是将点击处理程序放在这些组件上,那将很容易,因为即使它们具有不同的 ID,我也可以简单地为它们定义相同的点击监听器。但是由于我在整个应用程序中多次在多种情况下引用所有这些组件,我如何才能允许它们具有相同的 ID,并且仅当它们在当前 View 中时才使用react?
现在它告诉我 “identifier 'example_id' used more than once.”
编辑:也只是想说我知道当他们不在一个组中时,你可以做一些像 x.portrait="25"y.portrait=""25"这样的事情但是当我让他们在组中时H 和 V 组它阻止我这样做。
最佳答案
恐怕您只能在容器中放置一次具有 id 的组件,并且只能根据状态设置其属性。
这将起作用(给定状态“垂直”和“水平”):
<s:Group id="test" width="100%" height="100%" visible.vertical="true" visible.horizontal="false"/>
但这不会:
<s:Group id="test" width="100%" height="100%" includeIn="vertical"/>
<s:Group id="test" width="100%" height="100%" includeIn="horizontal"/>
所以您可能必须在运行时重新布局您的 UI(让它由 Flex 布局?)。一种解决方法 - 将 UI 组件(如矩形等)放在您的组件周围,并根据样式将它们打开和关闭,强制您的组件位于您想要的位置。
关于actionscript-3 - 如何在不同状态下拥有相同的组件 ID(Flex Mobile 项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5674277/