firefox - ExtJs5: reemplazando el método nativo definido en ext-all-debug.js
migration override (1)
Supongamos que quiero anular una función dentro del código nativo proporcionado por Sencha en el archivo ext-all-debug.js .
La función se define dentro de Ext.util.Renderable -class y tiene el nombre cacheRefEls .
La anulación debe tener lugar dentro del index.html del proyecto para que sea más fácil de mantener para futuras versiones.
Ya probé las soluciones de reemplazo propuestas dentro de este hilo:
Mi index.html se ve de la siguiente manera:
<html>
...
<script type="text/javascript">
Ext.define(''Myapp.view.Renderable'', {
override: ''Ext.util.Renderable'',
cacheRefEls: function(el) {
console.log("in overider method");
//my adapted version of it
}
});
</script>
...
</html>
Desafortunadamente, después de acceder al servidor local: 8080 en Firefox-33 , es visible desde Firebug-2-Console-log que todavía usa la versión nativa de la función.
que me estoy perdiendo aqui?
En ExtJS 5, debe mover estos métodos a la configuración privates
.
Deberías haber visto el error:
El método público "cacheRefEls" entra en conflicto con el método de marco de trabajo privado declarado por Ext.util.Renderable
Aún puede anular el método privado. En tu caso, la solución sería:
Ext.define(''Myapp.view.Renderable'', {
override: ''Ext.util.Renderable'',
privates: {
cacheRefEls: function(el) {
console.log("in overider method");
//my adapted version of it
}
}
});