列挙型を作成する方法またはそれをどこに保存する必要がありますか?

マーティン

私はExtJSを使用していますが、「マジック」ストリングを使用して多くのチェックを行っています。ある種の列挙を使用したい、すなわち

Colors.Red、Colors.White

Extjsはこれをサポートしていますか?私はバージョン4.2を使用しています。

また、新しいクラスなどを作成する必要がある場合、これの正しい場所はどこにありますか?

私は現在持っています

  /app
   controller
   store
   models
   views
    etc

これらは特にコントローラー、ビュー、モデル、ストア用であるため、正しい場所ではないようです。

上記に当てはまらないものを作成するのに適した場所はどこですか?

タラバス

これは別の方法で行うことができ、それはあなたにいくつかのインスピレーションを与えるためだけです。

私が自分のアプリで行ったことはenums、自分のにフォルダー作成することapp folderです。このフォルダーには、アプリで使用するすべての列挙型を配置します。私が使用していることに注意してくださいalternateClassNameuppercase、それらをより列挙のようにします。

単なる列挙型:

Ext.define('MyApp.enums.Orientation', {
    alternateClassName: ['ORIENTATION'],

    statics: {
        PORTRAITPRIMARY: 'portrait-primary', // The orientation is in the primary portrait mode.
        PORTRAITSECONDARY: 'portrait-secondary', // The orientation is in the secondary portrait mode.
        LANDSCAPEPRIMARY: 'landscape-primary', // The orientation is in the primary landscape mode.
        LANDSCAPESECONDARY: 'landscape-secondary', // The orientation is in the secondary landscape mode.
        PORTRAIT: 'portrait', // The orientation is either portrait-primary or portrait-secondary.
        LANDSCAPE: 'landscape' // The orientation is either landscape-primary or landscape-secondary.
    }
});

私はそれをこのように使うことができます:

MyApp.util.CordovaPlugins.lockOrientation(ORIENTATION.LANDSCAPE);

lockOrientationこのように見える場所

/**
 * Lock the viewport in a certain orientation and disallow rotation using the cordova screen orientation plugin
 * See [github.com/gbenvenuti/cordova-plugin-screen-orientation](https://github.com/gbenvenuti/cordova-plugin-screen-orientation)
 * for more details.
 *
 * Usage:
 * MyApp.util.CordovaPlugins.lockOrientation(ORIENTATION.LANDSCAPE);
 *
 * Possible orientations:
 * ORIENTATION.PORTRAITPRIMARY
 * ORIENTATION.PORTRAITSECONDARY
 * ORIENTATION.LANDSCAPEPRIMARY
 * ORIENTATION.LANDSCAPESECONDARY
 * ORIENTATION.PORTRAIT
 * ORIENTATION.LANDSCAPE
 *
 * @param {Enum} orientation Value of type MyApp.enums.Orientation to orientate the view in the given orientation.
 */
lockOrientation: function(orientation) {
    if (ORIENTATION.hasOwnProperty(orientation.toUpperCase())) {
        screen.lockOrientation(orientation);
    }
    else {
        Ext.Logger.error('The given orientation is not prohibited.');
    }
}

別の列挙型:

Ext.define('MyApp.enums.PositionError', {
    alternateClassName: ['POSITIONERROR'],

    statics: {
        PERMISSION_DENIED: 1,
        POSITION_UNAVAILABLE: 2,
        TIMEOUT: 3
    }
});

使用法:

getGpsErrorTitleByErrorCode: function(errorCode) {
    var title;

    switch (errorCode) {
        case POSITIONERROR.PERMISSION_DENIED:
            title = 'PERMISSION_DENIED';
            break;
        case POSITIONERROR.POSITION_UNAVAILABLE:
            title = 'POSITION_UNAVAILABLE';
            break;
        case POSITIONERROR.TIMEOUT:
            title = 'TIMEOUT';
            break;
        default:
            title: 'UNKNOWN_ERROR';
            break;
    }

    return title;
}

列挙型usesを使用するクラスの配列に列挙型を追加します。

Ext.define('MyApp.util.CordovaPlugins', {
    uses: [
        'MyApp.enums.PositionError',
        'MyApp.enums.Orientation'
    ],

    ...
});

または、それらをグローバルに作成するためrequires配列app.js

Ext.application({
    name: 'MyApp',

    requires: [
        'MyApp.enums.*'
    ],

    ...
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

proguardはすべての列挙型をintに変換しますか、それともこのために構成する必要がありますか

分類Dev

インデックス作成に列挙型クラスをどのように使用する必要がありますか(またはこれを回避する方がよいですか)?

分類Dev

netlogoで列挙型を作成する方法はありますか?

分類Dev

列挙型拡張メソッドにArgumentExceptionまたはInvalidEnumArgumentExceptionを使用する必要がありますか?

分類Dev

列挙型をintmain()の外または中に配置する必要がありますか?

分類Dev

列挙型をテストする必要がありますか?

分類Dev

ネストされた列挙型を作成する方法にも価値があります

分類Dev

Javaでは、それは、変更したり、列挙型自体を変更することができ、したがって、列挙型のシングルトン壊れにありますか?

分類Dev

関数を決定するために列挙型引数を使用する必要がありますか?

分類Dev

3.4列挙型はUPPER_CASE_WITH_UNDERSCORESを使用する必要がありますか?

分類Dev

列挙型rawValueをその型にダウンキャストする方法はありますか?

分類Dev

Typescript。foreachループでこのエラーを回避する方法:「算術演算の左側は「any」、「number」、または列挙型である必要があります」?

分類Dev

列挙型の値が満たされているかどうかを確認するために必要なコードの量を減らす方法はありますか?

分類Dev

非整数の列挙データ型を作成する方法はありますか?

分類Dev

列挙型にUIViewControllerを返すようにする方法はありますか

分類Dev

その特性の一つは、列挙型変数があるときはどうすればクラスを実装することができますか?

分類Dev

列挙型アクションメソッドが作成または保存する前にオブジェクトを検証することをテストするにはどうすればよいですか?

分類Dev

c#列挙型に許可された値の「範囲」を与える方法はありますか?

分類Dev

-masterまたはdevからUATブランチをどこに作成する必要がありますか?

分類Dev

後でキャストするために列挙型を変数に配置する方法はありますか?

分類Dev

列挙型配列(理解を助ける必要があります)

分類Dev

これをデータベースまたはコードに保存する必要がありますか?

分類Dev

MongoDBで画像を保存するには、どのデータ型を使用する必要がありますか?

分類Dev

ポジションの列挙型またはコレクションを作成する必要がありますか?

分類Dev

Android-エラー:このフィールドをデータベースに保存する方法がわかりません。あなたはそれのために型コンバーターを追加することを検討できますか?

分類Dev

ディクショナリには値として列挙型があります。int []配列を抽出するにはどうすればよいですか?(列挙型は「int」であるため)

分類Dev

Specman e:列挙型にいくつの値があるかを知る方法はありますか?

分類Dev

virtualenvはどこに作成する必要がありますか?

分類Dev

virtualenvはどこに作成する必要がありますか?

Related 関連記事

  1. 1

    proguardはすべての列挙型をintに変換しますか、それともこのために構成する必要がありますか

  2. 2

    インデックス作成に列挙型クラスをどのように使用する必要がありますか(またはこれを回避する方がよいですか)?

  3. 3

    netlogoで列挙型を作成する方法はありますか?

  4. 4

    列挙型拡張メソッドにArgumentExceptionまたはInvalidEnumArgumentExceptionを使用する必要がありますか?

  5. 5

    列挙型をintmain()の外または中に配置する必要がありますか?

  6. 6

    列挙型をテストする必要がありますか?

  7. 7

    ネストされた列挙型を作成する方法にも価値があります

  8. 8

    Javaでは、それは、変更したり、列挙型自体を変更することができ、したがって、列挙型のシングルトン壊れにありますか?

  9. 9

    関数を決定するために列挙型引数を使用する必要がありますか?

  10. 10

    3.4列挙型はUPPER_CASE_WITH_UNDERSCORESを使用する必要がありますか?

  11. 11

    列挙型rawValueをその型にダウンキャストする方法はありますか?

  12. 12

    Typescript。foreachループでこのエラーを回避する方法:「算術演算の左側は「any」、「number」、または列挙型である必要があります」?

  13. 13

    列挙型の値が満たされているかどうかを確認するために必要なコードの量を減らす方法はありますか?

  14. 14

    非整数の列挙データ型を作成する方法はありますか?

  15. 15

    列挙型にUIViewControllerを返すようにする方法はありますか

  16. 16

    その特性の一つは、列挙型変数があるときはどうすればクラスを実装することができますか?

  17. 17

    列挙型アクションメソッドが作成または保存する前にオブジェクトを検証することをテストするにはどうすればよいですか?

  18. 18

    c#列挙型に許可された値の「範囲」を与える方法はありますか?

  19. 19

    -masterまたはdevからUATブランチをどこに作成する必要がありますか?

  20. 20

    後でキャストするために列挙型を変数に配置する方法はありますか?

  21. 21

    列挙型配列(理解を助ける必要があります)

  22. 22

    これをデータベースまたはコードに保存する必要がありますか?

  23. 23

    MongoDBで画像を保存するには、どのデータ型を使用する必要がありますか?

  24. 24

    ポジションの列挙型またはコレクションを作成する必要がありますか?

  25. 25

    Android-エラー:このフィールドをデータベースに保存する方法がわかりません。あなたはそれのために型コンバーターを追加することを検討できますか?

  26. 26

    ディクショナリには値として列挙型があります。int []配列を抽出するにはどうすればよいですか?(列挙型は「int」であるため)

  27. 27

    Specman e:列挙型にいくつの値があるかを知る方法はありますか?

  28. 28

    virtualenvはどこに作成する必要がありますか?

  29. 29

    virtualenvはどこに作成する必要がありますか?

ホットタグ

アーカイブ