#version #upgrade #extjs #extjs4
#версия #Обновление #extjs #extjs4
Вопрос:
Я обновляю свой проект с 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
.
Есть кто-нибудь, кто может помочь?
Ответ №1:
Я предполагаю, что вы используете синтаксис анонимного конструктора, подобный этому?
MyClass = function(config) {
...
}
Ext.extend(MyClass, SomeOtherClass, {
...
});
Если это так, эта форма не может быть обнаружена Ext4 или уровнем compat и должна быть обновлена вручную до нового стандартного Ext.define
синтаксиса. Я не уверен, упоминается ли это в настоящее время в документации по миграции, и если нет, я добавлю это.
Комментарии:
1. Спасибо, Брайан. Это именно то, что я делаю.
Ответ №2:
Предполагая, что вы выполнили шаги в руководстве по миграции ExtJS 3-4, я не думаю, что можно сделать что-то еще, кроме как вручную просмотреть ваше приложение и внести изменения. Согласно сообщению в блоге Sencha о миграции (выделено мной):
Уровень совместимости Ext JS 3
Это состоит из набора файлов, которые при включении после Ext JS 4 предоставляют переопределения, которые будут загружать существующий код Ext JS 3 для запуска под Ext JS 4. Цель этого уровня не в том, чтобы позволить вашему приложению запускаться без изменений в Ext JS 4 в долгосрочной перспективе. Напротив, вы должны ожидать использования этого уровня только как временного средства полной миграции на Ext JS 4. Цель предоставления этого — помочь сделать переход максимально быстрым и безболезненным. Вместо того, чтобы отлаживать непонятные ошибки на пустом экране, вы сможете намного быстрее вернуть свое приложение в отрисованное и функциональное состояние, используя уровень совместимости, что значительно упрощает переход на последнюю архитектуру.