これは、標準のExtJS4MVCライブラリと構造を使用しています。
複数のビューを単一のコントローラーにアタッチして、後でそれらのインスタンスを作成してパネルに追加できるようにしようとしています。残念ながら、2番目のビューを追加すると、ビューに関するエラーが発生し、ExtJSが表示される構文エラーをブロックしているため、問題がどこにあるかを確認できません。
以下のリストからViewOrdersをコメントアウトすると正常に機能しますが、そこにある場合は次のエラーが発生します。
An uncaught error was raised with the following data: ext-all-debug-with-comments.js (line 7864)
msg:
"The following classes are not declared even if their files have been loaded: 'PVAL_App.view.ViewOrders'. Please check the source code of their corresponding files for possible typos: 'app/view/ViewOrders.js'"
sourceClass: "Ext.Loader"
sourceMethod: "onFileLoaded"
これが私のコントローラーです:
Ext.define('PVAL_App.controller.Viewport', {
extend: 'Ext.app.Controller',
views: [
'Viewport', 'ViewOrders'
],
init: function() {
console.log('Viewport controller init()');
}
});
これが私のViewOrdersビューです:
Ext.define('PVAL_APP.view.ViewOrder', {
/* Begin Definitions */
extend: 'Ext.panel.Panel',
alias: 'widget.ViewOrders',
requires: [
'Ext.panel.Panel',
'Ext.data.ArrayStore'
],
border:false,
layout: 'fit',
//autoScroll: true,
initComponent: function() {
}
});
これが必要かどうかは疑わしいですが、これは私のアプリケーションファイルです。
Ext.Loader.setConfig(
{
enabled: true
});
Ext.application({
name: 'PVAL_App',
appFolder: 'app',
autoCreateViewport: true,
controllers: [
'PVAL_App', 'Viewport'
],
launch:function() {
// Nothing yet.
//console.log(this.controllers);
}
});
構文エラーなのか、フレームワークの問題なのかわからないようです。あるコントローラー内から別のコントローラーにリンクしようとすると、これがフレームワークの制約である可能性があると思われるため、ほぼ同じ問題が発生しました。