2012-05-09 13 views
5

Solía ​​utilizar la propiedad de una tienda autoDestroy. Para limpiar los recursos de la memoria. Pero ya no puedo encontrar esto en la API.Cómo destruir tiendas en ExtJS 4.1?

Encontré EXTJSIV-4844 - Ext.data.Store autoDestroy config is missing en la lista 4.1 RC1 Bug Fixes (aunque no encuentro el hilo para ese error).

Ahora en RC3 esa configuración se ha ido de la API y ya no está en los archivos fuente.

He usado Ext.destroy para ver pero nunca para las tiendas. La forma en que la API describe el método Ext.destroyhere suena como: "Este método está diseñado para widgets, pero aceptará cualquier objeto y verá lo que puede hacer". - En otras palabras, no muy definitivo.

¿Alguien sabe si Ext.destroy funciona para las tiendas y las elimina de la memoria? ¿O cuál es la forma recomendada de hacerlo?

Respuesta

8

Ext.data.Store.destroyStore se parece al método que desea utilizar. Es privado por alguna razón (ni siquiera se muestra en los documentos si se marca show private) pero parece que tiene la misma funcionalidad de store.destroy público de 3.4 3.. En 4.x hay un método Store.destroy, pero eso es algo completamente diferente y no debe usarse para destruir la tienda de la memoria. Aquí está la fuente de 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

que se ve bien, gracias por las manchas – Geronimo

Cuestiones relacionadas