4

ExtJS 4プロジェクトをセットアップしようとしているので、たとえば、3つのトップレベルのアプリケーションがあります。

/foo/app.js
/bar/app.js
/baz/app.js

各「トップレベル」アプリケーションは個別のExtJSアプリケーションであり、それぞれに独自のローダーがあります。3つのアプリケーションすべてで共有したい一般的なコンポーネントがある場合があるので、/componentsトップレベルのディレクトリがあります。

コンポーネント名がComponentAの場合、

/components/componenta.js

ComponentAを3つのアプリケーションすべてに組み込んで、個々のアプリケーションで参照または拡張できるようにするにはどうすればよいですか?

4

1 に答える 1

10

これと同じローダーを各アプリケーションapp.jsファイルに追加できます。

Ext.Loader.setPath('Common', '../components/');

次に、共通コンポーネントを定義するときに同じ名前空間を指定し、コンポーネントの最上位フォルダーに配置します。

componenta.js

Ext.define('Common.componenta', {
    extend: 'Ext.panel.Panel',
    title: 'Component A'
});

次に、共通の名前空間を使用して、各アプリケーションで拡張できます。

Ext.define('Foo.panel', {
    extend: 'Common.componenta',
    title: 'Foo Panel'
});
于 2012-08-29T23:47:53.617 に答える