Вы устанавливаете массив в Ext.define
. Это означает, что вы устанавливаете прототип объекта, который используется всеми экземплярами класса. Поэтому это не неожиданное поведение. Создайте массив в конструкторе, как здесь:
Ext.define ('Sunglasses', {
brand : '',
constructor : function (args) {
this.lenses = [];
this.brand = args.brand;
},
addLenses : function (lenses) {
this.lenses.push (lenses);
}
});