0

より伝統的なプロパティクラスをExtJS4の動的ローディングに組み込む方法を知りたいですか?Ext3では、次のように一連のプロパティを作成します。

org.config.appName = "appname";
org.config.browser = {};
org.config.browser.Browsers = [
    {
        name: 'Chrome',
        ....
    }
];

また、orgの下に拡張オブジェクトのセットを作成したと想像してください。

org.foo = Ext.extend('Ext.Panel', {
    ...
});

Ext4でプロパティをロードすると、orgが作成されていないため、エラーがスローされます。これにより、問題を解決する2つの方法が得られると思います。

  1. 組織の定義: if(typeof org === 'undefined') { org = {}; }
  2. プロパティをシングルトンとして動的にロードします。

    Ext.define('org.config',{
        singleton: true,
        appName: "appname",
        browser: {
            Browsers: [
                {
                    name: 'Chrome',
                    ...
                },
                ...
            ]
        }
    });
    

オプション1は動的にロードされるオブジェクトにどのように影響しますか?オプション2は、一連のプロパティを作成するための最良の方法ですか?私は3番目のより良いオプションを逃していますか?支援に感謝します!

4

1 に答える 1

0

オプション2は問題なく機能するはずです。

Extのバージョンに関係なく、JavaScriptでは、最初にルートオブジェクトなどを作成せずに、「名前空間」オブジェクトを作成することはできません。Extには、アプリ全体の名前空間を作成するために使用される名前空間関数がありました。4.0以降では、Ext.applicationを使用して名前空間を設定し、Ext.defineを使用して名前空間クラスを作成します。

動的にロードされたオブジェクトが何を意味するのかよくわかりません...

于 2012-09-25T22:36:59.193 に答える