在现有的ExtJS 5.0项目中,无法更改原始代码。我们允许向现有的overrides/目录添加代码。
我在类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我已经尝试了以上所有的方法和更多的方法,并通过各种方法确认代码不包括,而不是!
那么第二个问题,如何确保它被包括在内呢?
文档使得它看起来很容易,这使得它更加令人沮丧。
在我使用的版本中,sencha.cfg中没有sencha.cfg变量,在任何情况下,我都会更改一个现有的文件,因此很可能无法这样做,或者出于同样的原因在Ext.application中添加requires。
因此,第三个问题,代替修改现有文件,是否有一个构建命令行开关,我可以使用它来指定一个额外的构建目录?
我想把头发拔出来想办法解决。任何建议,除非辞去我的工作,都将不胜感激。
发布于 2015-08-11 01:55:33
overrides/下的任何地方。app.json中包括app.json。您还可以在.sencha下修改配置文件,但最好在app.json中使用。你不需要requires。这个问题在5.0.1版中得到了修正。app.json中添加这一行是一个很小的改变,也是在5.0.0中使重写工作的唯一方法(我怀疑您正在使用这种方法)。https://stackoverflow.com/questions/31926154
复制相似问题