2011-08-19 11 views
5

Quindi, int ExtJS abbiamo:Quali alternateClassNames sono destinati

  • "vero" nome del tipo (quella che va come prima param in Ext.define)
  • alias
  • alternateClassName
  • xtype

Il più enigmatico per me è alternateClassName. Perché ne abbiamo davvero bisogno se abbiamo già uno zoo di descrittori di tipi? Nota che non sto cercando di discutere la qualità dell'approccio ideologico. La domanda riguarda solo perché è stata implementata e per quali scopi esattamente.

risposta

8

sono utilizzati per la retro-compatibilità. Ad esempio, in Ext.grid.Panel ExtJS 4 ha

alternateClassName: ['Ext.list.ListView', 'Ext.ListView', 'Ext.grid.GridPanel'] 

perché sostituisce ListView e usato per essere nominato Ext.grid.GridPanel.

2

Come noto, alternateClassName è utile per chiamare una classe con nomi diversi e possiamo utilizzare le azioni come per il nome della classe.

Il codice qui sotto sarà utile per voi:

Ext.define('Sample', {  
    alternateClassName: ['Example', 'Important'],  
    code: function(msg) {   
     alert('Sample for alternateClassName... ' + msg);  
    }, 
    renderTo :document.body 
}); 
var hi = Ext.create('Sample'); 
hi.code('Sample'); 
var hello = Ext.create('Example'); 
hello.code('Example'); 
var imp = Ext.create('Important'); 
imp.code('Important'); 

Nel codice di cui sopra, si possono trovare le cose come:

1.We stanno utilizzando tre nomi chiamati Campione, esempio, è importante per una classe.
2. È possibile utilizzare l'azione, ad esempio il messaggio di avviso in base al nome della classe.
3. Stiamo visualizzando il messaggio di avviso in base al nome della classe. Qui stiamo visualizzando il messaggio di avviso per mostrare il risultato. Ma possiamo scrivere alcune azioni in base al nome della classe, se vogliamo creare un pulsante e è necessario scrivere un'azione sul pulsante come per il nome della classe, quindi questo sarà utile.

di Valladolid troviamo l'esempio di lavoro di seguito:

http://jsfiddle.net/kesamkiran/kVbra/30/

+0

in realtà, stai spiegando come funziona dal punto tecnico, ma non spiegando, perché mai dovremmo avere N nomi del stessa classe. – shabunc

+0

È possibile riutilizzare il codice secondo il proprio desiderio.Come lo so, Ad esempio, se la barra degli strumenti e un pulsante è lì in due schede, ma ho bisogno di scrivere il clic del pulsante eent sulla scheda attiva.Al momento possiamo usare questo metodo. – Unknown

+0

risposta tardiva ma è possibile utilizzare alternateClassName per puntare a funzioni singleton, abbreviazioni, quindi non è necessario puntare al percorso se i singleton sono definiti abbreviando la chiamata di chiamata di funzione – Chris

0

alias

Un alias è costituito da un namespace e un nome concatenato da un periodo [namespace]. [Nome]

causa del namespace, il suo uso è limitato ad contesto, ad esempio widget, archivio, controller, ecc. (ad esempio per una classe derivata dal controller è possibile utilizzare un alias come "controller.foo" e ora è possibile utilizzare solo il nome "foo" quando si collega il controller a una vista)

xtype

Vale solo per est.Componente derivato classi

Utile quando si definisce una vista, perché si scrive meno codice

alternateClassName

scopo più generale di due precedenti. è possibile utilizzare questo per le classi di utilità, in modo da non dover fare riferimento l'intero spazio dei nomi

Per una classe Singleton utilizzato per la memorizzazione di costanti dichiarate come app.util.navigationConstants, è possibile definire un nome di classe alternativo che è più breve, NavConsts. Ora puoi utilizzare NavConsts.CONST_NAME invece di app.util.navigationConstants.CONST_NAME

Problemi correlati