2016-06-10 1 views
0

Я работал с Ext JS 6.0, и теперь я пытаюсь заставить свое приложение работать в Ext JS 4.0.7. Вероятно, есть синтаксическая ошибка версии 4, которая является хорошо сформированным кодом в версии 6, которую я не поймаю, но для жизни я не могу понять, что это такое.Ext JS 4.0.7 - TypeError: name undefined

магазины и Ссылки на модели не проблема, но загрузка пользовательских 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

Имя виджета не помогает найти файл JavaScript, поэтому его нельзя загрузить только этим именем. Вы должны добавить полное имя компонента requires список вашего Отца компонента, как это:

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

Это заставит ребенка компонент должен быть загружен и xtype зарегистрирован.