Ext.Create возвращающие классы, которые уже созданы - PullRequest
2 голосов
/ 28 марта 2012

Я использую объекты класса extjs через Ext.define (... и Ext.create (.... Когда у меня есть несколько экземпляров классов, хранящихся в другом классе, я вижу странное поведение: классы не уникальны, и похоже, что Ext.create возвращает мою предыдущую реализацию.

Проверьте JSFiddle моей проблемы здесь . Убедитесь, что вы просматриваете журнал консоли в своем браузере, чтобы увидеть вывод и странности.

1 Ответ

2 голосов
/ 28 марта 2012

Вы устанавливаете массив в Ext.define. Это означает, что вы устанавливаете прототип объекта, который используется всеми экземплярами класса. Поэтому это не неожиданное поведение. Создайте массив в конструкторе, как здесь:

Ext.define ('Sunglasses', {
    brand : '',

    constructor : function (args) {
        this.lenses = [];
        this.brand = args.brand;
    },
    addLenses : function (lenses) {
        this.lenses.push (lenses);
    }    
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...