我正在通过Ext.define (...
和Ext.create (...
使用extjs类对象。当我在另一个类中存储多个类的实例时,我看到了一些奇怪的行为:类不是唯一的,看起来Ext.create
正在返回我之前的实例化。
查看我的问题here的JSFiddle。确保在浏览器中查看控制台日志以查看输出和怪异。
答案 0 :(得分:2)
您在Ext.define
中设置了一个数组。这意味着您将设置对象的原型,该原型在类的所有实例之间共享。因此,这不是一个意外的行为。在构造函数中创建数组,如下所示:
Ext.define ('Sunglasses', {
brand : '',
constructor : function (args) {
this.lenses = [];
this.brand = args.brand;
},
addLenses : function (lenses) {
this.lenses.push (lenses);
}
});