それぞれがプレーンな html ページを指している 100 の異なる URL があり、これらのプレーンな html ページを extjs ページに変換する必要があります。フッターとヘッダーはすべてのページで同じですが、中央のセクションはプレーンな html ページごとに異なります。最大限のコードを活用するために、モデル、ビュー、ストア、およびコントローラーを持ち、index.html、app.js、および viewport.js を分離する EXTJS4.1.0 アプリケーションを作成することを考えました。index.html、app.js、viewport.js を別々にする理由は、単一の index.html、app.js、viewport.js を保持しないと、ページをブックマークできないためです (ユーザーと使用のため100 の異なるページに 100 の異なる URL) したがって、基本的には 100 の異なる app.js と対応する viewport.js (viewport.js) を用意します。
私の最初の質問は、私が今言及した解決策が正しい解決策であるということです。
Extjs MVC パターンでは、autoCreateViewport: true を使用する場合、アプリケーションごとに 1 つの Viewport.js ファイルしか持てないというのは本当ですか。
次に、 Ext.Application ( app.js 内) で autoCreateViewport: false を使用し、次のように launch メソッドで別の Viewport のインスタンスを作成する場合:
Ext.application({
name: 'Panda',
autoCreateViewport: false,
launch: function() {
Ext.create('Panda.viewport.ViewportOne')
}
});
100 個のビューポートの 1 つである ViewportOne のインスタンスを作成したことに注意してください。このソリューションでも、アプリケーションの実行中に不具合が発生しました(一部のナビゲーションが機能しないなど)。extjs が Panda.viewport.ViewportOne、Panda.viewport.ViewportTwo などの名前のビューポートを許可していないためでしょうか。
Extjs では、各ページが同じ extjs アプリケーションの一部となるように、ブックマーク可能なページを使用して完全に MVC スタイルのアプリケーションを作成できます (つまり、同じモデル ビュー、ストア、コントローラー、および動的読み込みを利用します)。