0

管理者の場合にのみ、ユーザーにいくつかのボタンを表示したい。状態を使用することを考えましたが、他の mxml ページでそのボタンにアクセスして可視性を定義する方法がわかりませんでした。

4

1 に答える 1

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 などのフレームワークの使用など。「現実世界」のアプリケーションでは。このようなフレームワークの使用は、静的変数アプローチよりもはるかに一般的であるようです。ただし、アプローチは同じです。

  1. 値をどこかに保存する
  2. 目に見えるアクセス価値
  3. 値に基づいてビューの表示を変更します
于 2013-07-24T00:46:10.790 に答える