2015-09-21 1 views
6

Я создаю приложение с ExtJS 6. Я уже читал руководства, учебные пособия и советы по лучшей практике. Но я не понимаю, почему я должен использовать объект конфигурации?ExtJS 6: Должен ли я использовать объект конфигурации?

С конфиге:

Ext.define('MyProject.foo.Bar', { 
    extends: 'Ext.window.Window', 

    ... 

    config: { 
     title: 'My title' 
    } 
}); 

Без конфигурации:

Ext.define('MyProject.foo.Bar', { 
    extends: 'Ext.window.Window', 

    ... 

    title: 'My title' 
}); 

Оба работают, как ожидалось. Может ли кто-нибудь сказать мне разницу и возможные преимущества?

ответ

8

Это все описано в Class System руководства:

  • Конфигурация полностью залита от других членов класса
  • метода получения и установок для каждого свойства конфигурации автоматически генерируется в классе прототип при создании класса если методы еще не определены.
  • Метод автоматической сгенерирования вызывает метод apply (если он определен в классе) внутри перед установкой значения. Вы можете переопределить метод apply для свойства config, если перед настройкой нужно выполнить произвольную логику . Если ваш метод apply не возвращает значение , установщик не установит значение. Метод обновления (если определено ) также вызывается, когда задано другое значение. И методы применения и обновления передают новое значение и старое значение как параметры .
+0

Вы правы. Я должен был прочитать более внимательно. В любом случае, спасибо! – xdn