Показать сообщение отдельно
  #4 (permalink)  
Старый 14.05.2012, 19:09
С++/C# modest developer
Отправить личное сообщение для nekto_O Посмотреть профиль Найти все сообщения от nekto_O
 
Регистрация: 07.11.2011
Сообщений: 244

а причем здесь это?
неужели вы думаете что если даже не указывать свойство, конструктор создаст соответствующие геттер и сеттер? При чем именно в нужном виде?
Хорошо, допустим мы укажем нужное нам свойство в конфиге:
Ext.define('MyPanel', {
    extend: 'Ext.panel.Panel',
    config: {
         frame: true
    }
});

При создании объекта у него будут сгенерированы методы getFrame() и setFrame().
var panel = Ext.create('MyPanel', {
    renderTo: Ext.getBody()
});
console.log(panel.getFrame); // 'function'
console.log(panel.setFrame); // 'function'

Да, мы видим что они действительно созданы. Геттер как и положено возвращает текущее значение свойства, сеттер устанавливает заданное (параметром). Но вот ведь незадача (!) внешний вид панели ничуть не изменится при вызове setFrame. Почему?
Потому что он определяется во время инициализации (в зависимости от значения свойства frame присваиваются классы соответствующим компонентам). И чтобы динамически изменить внешний вид, как вы хотите, нужно как раз изменить классы компонентов и сгенерированный метод setFrame вам нисколько не поможет.
Ответить с цитированием