2010-08-07 1 views

Répondre

26

Remarque: S'applique à Ext 3.x uniquement. Cela a été répondu en 2010.

Il n'y a pas d'événement 'layout', seulement afterLayout. De la documentation, afterLayout "se déclenche lorsque les composants de ce conteneur sont organisés par le gestionnaire de disposition associé", ce qui est assez explicite. afterLayout est uniquement déclenchée par les sous-classes Container qui sont responsables de la disposition des composants enfants. D'autre part, toutes les sous-classes de composants (y compris les conteneurs) déclenchent les événements render et afterRender. La différence fondamentale est simplement que afterRender se déclenche plus tard. render se déclenche après le rendu du balisage DOM, mais avant tout ce qui peut arriver (comme masquer, désactiver, restaurer l'état, etc.) pendant le processus de rendu. afterRender incendies comme le tout dernier événement après tout cela est terminé. Pour bien comprendre cela, vous devriez regarder la source de la méthode Ext.Component.render(), qui montre étape par étape le fonctionnement du processus de rendu et quand ces événements sont déclenchés.