Ext JS 4.0.7 - TypeError:name未定义

时间:2016-06-10 20:22:49

标签: javascript extjs xtype

我使用过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

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:1)

窗口小部件名称无法帮助找到JavaScript文件,因此无法仅通过该名称加载它。您必须将组件的限定名称添加到父组件的requires列表中,如下所示:

Ext.define('App.view.Main', {
    requires:['App.view.leftSidebar.Configurations']

这将导致加载子组件并注册xtype