Я получаю ту же ошибку, и вот что я нашел.
В index.html:
Ext.Loader.setConfig({enabled:true});
Ext.application({
name: 'MyApp',
controllers: ['Test'],
launch: function() {
Ext.create('Ext.container.Viewport', {
items: {
html: 'My App'
}
});
}
});
Ext.onReady(function() {
alert(typeof MyApp);
});
Создайте небольшой контроллер: app / controller / Test.js (/приложение имеет ту же родительскую папку, что и / extjs)
Ext.define('MyApp.controller.Test', {
extend: 'Ext.app.Controller',
init: function() {
console.log('The controller was initialised');
}
});
При запуске в Firebug вы увидите глобальную переменную MyApp.Тем не менее, для сообщения с предупреждением все еще появилось окно сообщения «undefined».
IMHO MyApp - это объект, который «поддерживает ссылки на все модели, представления и контроллеры, используемые приложением».Возможно, extjs использует некоторый тип класса «Динамическая загрузка»;поэтому он не будет создавать эту глобальную переменную до тех пор, пока внутри нее не будет что-то (контроллеры, представления, модели) (я не уверен в этом).В этом случае переменная должна быть создана, чтобы содержать тест контроллера.Тем не менее, я не могу объяснить «неопределенное» сообщение для предупреждения.Возможно, в это время объект Ext готов, но «Динамическая загрузка» для создания области просмотра и переменной MyApp не завершена (не уверен).
Надеюсь, что это поможет.