2010-12-06 3 views
0

J'ai peu de composants ExtJS étendus (Window, DataView, etc.) en utilisant la méthode Ext.extend. Je voudrais ajouter quelques propriétés supplémentaires à l'étendue. Comment puis-je les ajouter dans mon composant?Propriétés personnalisées pour les composants ExtJS personnalisés

ExWindow = Ext.extend(Ext.Window,{ 
border:false, 
initComponent: function() {  

    // Component Configuration... 
    var config = { 
     height: 500, 
     width: 500, 
     items: [{ 
      xtype: 'simplepanel' 
     }] 
    }; 

    Ext.apply(this, Ext.apply(this.initialConfig, config)); 
    ExWindow.superclass.initComponent.apply(this, arguments);  

}, 
onRender:function() { 
    ExWindow.superclass.onRender.apply(this, arguments); 
} 
}); 
+1

Il n'est pas nécessaire d'inclure un remplacement de onRender à moins que vous n'incluiez du code. –

Répondre

0
ExWindow = Ext.extend(Ext.Window,{ 
border:false, 
newPublicProperty: 0, 
newPublicArray: new Array(), 
initComponent: function() {  

    // Component Configuration... 
    var config = { 
     height: 500, 
     width: 500, 
     items: [{ 
      xtype: 'simplepanel' 
     }] 
    }; 

    Ext.apply(this, Ext.apply(this.initialConfig, config)); 
    ExWindow.superclass.initComponent.apply(this, arguments);  

}, 
onRender:function() { 
    ExWindow.superclass.onRender.apply(this, arguments); 
}, 
newPublicMethod:function() { 
} 
}); 

newPublicProperty, newPublicArray, newPublicMethod - de nouvelles propriétés supplémentaires d'objets.

+0

Malheureusement, je ne suis pas en mesure d'accéder à la propriété ou la méthode .. Je reçois win.newPublicMethod n'est pas une fonction dans firebug! –

+0

var win = new ExWindow(); win.newPublicMethod(); Mais si vous voulez ajouter une nouvelle propriété à l'Ext.Window - c'est une autre question. –

+0

voici ce qu'il faut faire: var win = new ExWindow(); alerte (win.newPublicProperty); -> mais ça dit indéfini !!! –

Questions connexes