Ошибка обновления с ExtJs3 до ExtJs4 - элементы '' не определены "в режиме Compat? - PullRequest
1 голос
/ 09 мая 2011

Я обновляю свой проект с Ext3.3 до Ext4.
Я добавил файлы ext3-core-compat.js и ext3-compat.js после добавления нового файла ext4 ext-all-debug.js.

Я получаю members is udefined error в строке 3262 файла ext-all-debug.js.
Который находится внутри метода Ext.extend, который принимает 3 параметра:

Ext.extend = function(subclass, superclass, members) 

Я могу видеть из документации ExtJs4, что Ext.extend устарел, однако я просто хочу, чтобы мой код работал, прежде чем я изменил все свои Ext.extend на Ext.define.

Любая помощь, ребята?

Ответы [ 2 ]

2 голосов
/ 09 мая 2011

Я предполагаю, что вы используете синтаксис анонимного конструктора, как этот?

MyClass = function(config) {
    ...
}
Ext.extend(MyClass, SomeOtherClass, {
    ...
});

Если это так, эта форма не может быть обнаружена Ext4 или уровнем Compat и должна быть обновлена ​​вручную до нового стандартаExt.define синтаксис.Я не уверен, упомянуто ли это в настоящее время в документации по миграции, и если нет, я добавлю его.

0 голосов
/ 09 мая 2011

Предполагая, что вы выполнили шаги, описанные в руководстве по миграции ExtJS 3-4 , я не думаю, что можно сделать что-то еще, кроме как вручную просмотреть приложение и выполнитьизменения.Согласно сообщению в блоге Sencha о миграции (выделено мной):

Ext JS 3 Compatibility Layer

Он состоит из набора файлов, которые при включениипосле Ext JS 4 предоставьте переопределения, которые загрузят существующий код Ext JS 3 для запуска в Ext JS 4. Цель этого уровня - не дать приложению работать без изменений в Ext JS 4 в течение длительного времени.Напротив, вы должны использовать этот слой только как временное средство для полной миграции на Ext JS 4 .Цель его предоставления - помочь сделать переход максимально быстрым и безболезненным.Вместо того, чтобы отлаживать непонятные ошибки на пустом экране, вы сможете гораздо быстрее вернуть ваше приложение в визуализированное и функциональное состояние, используя уровень совместимости, что значительно упрощает переход на новейшую архитектуру.

...