Bonjour,
Je suis en train de migrer une application qui utilise ExtJS 2.3.0 vers ExtJS 4.2.1.
J'utilise la couche de compatibilité ExtJS 3 -> ExtJS 4 qui m'aide beaucoup.
Je consulte les documentations et j'ai un problème avec Ext.extend.
Dans le 2.3.0 [http://docs.sencha.com/extjs/2.3.0/#...method-extend] c'était extend( subclass, superclass, [overrides] ).
A partir de la 3 [http://docs.sencha.com/extjs/3.4.0/#...method-extend], Ext.extend change extend( superclass, overrides ).
Je connais bien la structure :
Mais parfois j'ai des problèmes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Ext.define('nom.de.ma.classe', { extend: 'classe.mere', ...
Le code ExtJS 2 :
Bon là vous allez me dire que Ext.data.GroupingStore n'existe plus dans ExtJS 4, mais c'est juste pour l'exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MyApp.data.DocumentModelStore = function(c) { ... }; Ext.extend( MyApp.data.DocumentModelStore, Ext.data.GroupingStore ) ;
Est-ce que :
Revient au même ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Ext.define('MyApp.data.DocumentModelStore', { extend: 'Ext.data.GroupingStore', initComponent: function(c){ // } });
Je vais lire la doc d'ExtJS4 et essayer de trouver quelque chose, parce que je dois étendre et override.
http://docs.sencha.com/extjs/4.2.1/#...-method-define
Si vous avez un peu de connaissance en ExtJS2 merci de m'en faire part.
D'avance merci.
Au revoir.
================================================================
En fait avec ExtJS 2.3.0 il y a :
Ext.extend(subclass, superclass, [overrides]) et :
Ext.extend(superclass, [overrides])
Dans le 2ième cas je pense avoir fait quelque chose de juste, puisque :
Dans le 1er cas j'essaie de faire ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // J'ai modifié ça : ma.variable = Ext.extend(Ext.une.Classe, { initComponent: function(){...}, ... } En : Ext.define('ma.variable' , { extend: 'Ext.une.Classe', initComponent: function(){...}, .. });
Mais est-ce que ça marche d'utiliser constructor ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 ma.classe.fille = function(c){...}; Ext.extend(ma.classe.fille, Ext.une.classe.Mere, { fonctionSurcharge: function(){...} }); // Devient : Ext.define('ma.classe.fille', { extend: 'Ext.une.classe.Mere', constructor: function(c)[...}, fonctionSurcharge: function(){...} });
Partager