2015-09-21 4 views
6

Ich baue eine Anwendung mit ExtJS 6. Ich habe bereits die Anleitungen, Tutorials und Best Practice-Tipps gelesen. Aber was ich noch nicht verstehe ist, warum sollte ich das Config-Objekt verwenden?ExtJS 6: Sollte ich das Config-Objekt verwenden?

Mit config:

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

    ... 

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

Ohne config:

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

    ... 

    title: 'My title' 
}); 

Beide arbeiten wie erwartet. Kann mir jemand den Unterschied und mögliche Vorteile sagen?

Antwort

8

Alles im Class System Handbuch beschrieben ist:

  • Konfigurationen von anderen Teilnehmern
  • Getter und Setter-Methoden für jede Konfigurations Eigenschaft vollständig gekapselt sind automatisch generiert in die Klasse Prototyp während Klassenerstellung wenn Methoden nicht bereits definiert sind.
  • Die automatisch generierte Setter-Methode ruft die Apply-Methode (falls für die Klasse definiert) intern auf, bevor der Wert festgelegt wird. Sie können die Methode apply für eine config-Eigenschaft überschreiben, wenn Sie vor dem Festlegen des Werts die benutzerdefinierte Logik ausführen müssen. Wenn Ihre Apply-Methode keinen -Wert zurückgibt, setzt der Setter den Wert nicht. Die Update-Methode (wenn definiert) wird auch aufgerufen, wenn ein anderer Wert eingestellt ist. Sowohl die Apply- als auch die Update-Methode erhalten den neuen Wert und den alten Wert als params.
+0

Sie haben Recht. Ich hätte es besser lesen sollen. Trotzdem danke! – xdn