2012-05-09 14 views
5

Ho usato la proprietà autoDestroy di un negozio. Per pulire le risorse di memoria. Ma non riesco più a trovarlo nell'API.Come distruggere i negozi in ExtJS 4.1?

Ho trovato EXTJSIV-4844 - Ext.data.Store autoDestroy config is missing elencato nello 4.1 RC1 Bug Fixes (sebbene non riesca a trovare il thread per quell'errore ovunque).

Ora in RC3 la configurazione è passata dall'API e non è più nei file di origine.

Ho usato Ext.destroy per le visualizzazioni ma mai per i negozi. Il modo in cui l'API descrive il metodo Ext.destroyhere suona come: "Questo metodo è progettato per i widget ma accetta qualsiasi oggetto e vede cosa può fare". - In altre parole, non molto definitivo.

Qualcuno capita di sapere se Ext.destroy funziona per negozi e li rimuove dalla memoria? O qual è il modo migliore per farlo?

risposta

8

Ext.data.Store.destroyStore si presenta come il metodo che si desidera utilizzare. È privato per qualche motivo (non viene nemmeno visualizzato nei documenti se è selezionato show private) ma sembra che abbia la stessa funzionalità di Store.destroy 3.4 standard http://docs.sencha.com/ext-js/3-4/#!/api/Ext.data.Store-method-destroy. In 4.x c'è un metodo Store.destroy ma questo è qualcosa di completamente diverso e non dovrebbe essere usato per distruggere lo store dalla memoria. Qui è la sorgente da http://docs.sencha.com/ext-js/4-1/source/AbstractStore.html#Ext-data-AbstractStore:

// private 
destroyStore: function() { 
    var me = this; 

    if (!me.isDestroyed) { 
     if (me.storeId) { 
      Ext.data.StoreManager.unregister(me); 
     } 
     me.clearData(); 
     me.data = me.tree = me.sorters = me.filters = me.groupers = null; 
     if (me.reader) { 
      me.reader.destroyReader(); 
     } 
     me.proxy = me.reader = me.writer = null; 
     me.clearListeners(); 
     me.isDestroyed = true; 

     if (me.implicitModel) { 
      Ext.destroy(me.model); 
     } else { 
      me.model = null; 
     } 
    } 
}, 
+0

che sembra buono, grazie per avvistare – Geronimo

Problemi correlati