2015-09-21 13 views
6

Sto costruendo un'applicazione con ExtJS 6. Ho già letto le guide, i tutorial e i suggerimenti sulle best practice. Ma quello che non capisco ancora è, perché dovrei usare l'oggetto config?ExtJS 6: Devo usare l'oggetto config?

Con config:

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

    ... 

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

Senza config:

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

    ... 

    title: 'My title' 
}); 

Entrambi funzionino come previsto. Qualcuno può dirmi la differenza e i possibili benefici?

risposta

8

E 'tutto descritto nel Class System guida:

  • configurazioni sono completamente incapsulati da altri membri della classe
  • metodi getter e setter per ogni proprietà di configurazione vengono generati automaticamente nel prototipo di classe durante la creazione della classe se i metodi non sono già definiti.
  • Il metodo setter generato automaticamente chiama il metodo apply (se definito sulla classe) internamente prima di impostare il valore. È possibile eseguire l'override di il metodo apply per una proprietà config se è necessario eseguire la logica personalizzata prima di impostare il valore. Se il metodo apply non restituisce un valore , il setter non imposterà il valore. Il metodo di aggiornamento (se definito) verrà chiamato anche quando viene impostato un valore diverso. Entrambi i metodi di applicazione e aggiornamento passano il nuovo valore e il vecchio valore come parametri .
+0

Hai ragione. Avrei dovuto leggere più attentamente. Grazie lo stesso! – xdn