我想向用户显示一些按钮,只有它是管理员。我想过使用状态,但我不知道如何访问其他mxml页面中的按钮来定义它们的可见性。
答案 0 :(得分:3)
基本上,在某些时候,您的应用程序需要存储可让您确定用户是否为管理员的信息。
不了解您的设置;最简单的方法是将值存储在某个静态变量中;像这样的东西:
public static var isUserAdmin : Boolean = true;
现在,您可以通过引用类名来访问应用程序中任何位置的该属性。静态变量存在于类中;不是在一个类的实例上。
如果这是您想要的,您可以使用它来控制组件内的状态。在组件的某个地方,也许在初始化事件处理程序中,您可以这样做:
if(myClassWithStaticVaraibles.isUserAdmin){
currentState = 'adminState';
} else {
currentState = 'nonAdminState';
}
您还可以使用它来切换按钮或其他UI元素的可见性。如果用户是管理员,则会显示一个按钮:
<s:Button visible="{myClassWithStaticVariables.isUserAdmin}" />
这将隐藏用户管理员的按钮:
<s:Button visible="{!myClassWithStaticVariables.isUserAdmin}" />
有比使用静态变量更复杂的方法;例如使用一个框架,如Swiz或Robotlegs,支持类似Singleton的依赖注入。在“现实世界”的应用程序中;使用这种框架似乎比静态变量方法更常见。但是,方法是一样的: