我使用过Ext JS 6.0,现在我试图让我的应用程序在Ext JS 4.0.7中运行。版本4中可能存在语法错误,这是版本6中格式正确的代码我没有抓到,但对于我的生活,我无法弄清楚它是什么。
引用商店和模型没问题,但加载自定义xtype就像这样...
应用程序/视图/ Main.js
Ext.define('App.view.Main', {
extend: 'Ext.container.Viewport',
title: 'App Title',
layout: 'anchor',
items: [
{
xtype: 'configurations',
itemId: 'configurationsSidebar'
}
]
});
应用程序/视图/ leftSidebar / Configurations.js
Ext.define('App.view.leftSidebar.Configurations', {
extend: 'Ext.Panel',
alias: 'widget.configurations',
title: 'Configuration',
width: 250,
minWidth: 250,
split: true,
collapsible: true,
scrollable: true,
layout: 'anchor',
items: [
{
xtype: 'label',
text: 'Hi! You can see me'
}
]
});
在我的控制台中导致我出现此错误(第一个是警告,第二个是错误):
Empty string passed to getElementById(). ext-all-debug-w-comments.js:8370:33
TypeError: name is undefined ext-all-debug-w-comments.js:8231:1
任何帮助都将不胜感激。
答案 0 :(得分:1)
窗口小部件名称无法帮助找到JavaScript文件,因此无法仅通过该名称加载它。您必须将组件的限定名称添加到父组件的requires
列表中,如下所示:
Ext.define('App.view.Main', {
requires:['App.view.leftSidebar.Configurations']
这将导致加载子组件并注册xtype
。