这是使用标准的 ExtJS 4 MVC 库和结构。
我正在尝试将多个视图附加到单个控制器,以便稍后创建它们的实例以添加到面板。不幸的是,当我添加第二个视图时,我收到了关于视图的错误,而 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);
}
});
我似乎无法弄清楚这是语法错误还是框架有问题。如果我尝试从一个控制器内部链接到另一个控制器,我会遇到接近相同的问题,这让我相信这可能是框架的约束。