В существующем проекте ExtJS 5.0 изменить исходный код невозможно. Мы : разрешено добавлять код в существующий каталог overrides/
.ExtJS 5.0 - помощь с переопределениями
У меня есть существующая функция generateTree
в классе Products.view.ProductsTreeViewController
, которую я хочу переопределить.
Текущая функция находится в файле PTVC.js
под Useless/app/view/
.
Это код, я использую, чтобы переопределить:
Ext.define('overrides.Products.view.ProductsTreeViewController', {
override :'Products.view.ProductsTreeViewController',
generateTree: function (data) {
if (this.isValid(data))
this.callOverridden(data);
else
this.callOverridden(this.getDefaultData());
}
};
Первый вопрос, где должен находиться код под
overrides/
? Я видел множество различных конфигураций, например,
Все в одном файле:
Useless/
overrides/
app.js
тот же путь, как и исходный файл:
Useless/
overrides/
app/
view/
PTVC.js
Переопределенный Имя класса:
Useless/
overrides/
Products/
view/
ProductsTreeViewController/
class.js
Я пробовал все вышеперечисленное и многие другие подходы и подтвердил с помощью различных средств, что код не включительно!
Итак, второй вопрос, как убедиться, что он включен?
В документации создается впечатление, что это так просто, что делает его еще более неприятным.
В версии я использую не classpath
переменной в sencha.cfg
, в любом случае я бы изменения существующего файла, так что, вероятно, не может сделать это, или добавить requires
в Ext.application
по той же причине.
Итак, третий вопрос, вместо изменения существующих файлов, есть ли переключатель командной строки сборки, который я могу использовать для указания дополнительного каталога компоновки?
Я тяну свои волосы, пытаясь понять это. Любые советы, не выходящие за мою работу, будут оценены по достоинству.
Да, я использую 5.0.0. Именно в этом и была проблема! –