¿Por qué ExtJS 3's Ext.Loader parece estar faltando piezas y no mostrar una cuadrícula?
-
28-10-2019 - |
Pregunta
Tengo un DataGrid ExtJS 3 con varias funciones adicionales que no se muestra. La consola JavaScript me lleva a creer que Ext está faltando piezas.
Importo, con aparente éxito:
<script type="text/javascript"
src="/extjs3/adapter/ext/ext-base-debug.js">
</script>
<script type="text/javascript"
src="/extjs3/ext-all-debug.js"></script>
Tengo, en mi guión:
<script type="text/javascript">
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', '../ux');
Ext.require(['Ext.selection.cellModel',
'Ext.grid.*',
'Ext.data.*',
'Ext.util.*',
'Ext.state.*',
'Ext.form.*',
'Ext.ux.CheckColumn'
]);
Chrome está mostrando un error:
TypeError no capturado: el objeto # no tiene método 'setconfig'
El número de línea pertenece al setconfig anterior. Si comento la llamada setconfig (), obtengo el mismo error básico para setPath (), se queja el método requirador ().
¿Hay algo más que necesite importar? Verifiqué que los recursos estaban en las rutas esperadas, y parece que están siendo atendidos y recibidos correctamente.
Me gustaría saber qué hay que hacer para abordar este error.
Gracias,
--EDITAR--
Ahora tengo:
<script type="text/javascript">
/*
Ext.Loader.setConfig({
enabled: true
});
Ext.Loader.setPath('Ext.ux', '../ux');
*/
Ext.Loader.load(['Ext.selection.cellModel',
'Ext.grid.*',
'Ext.data.*',
'Ext.util.*',
'Ext.state.*',
'Ext.form.*',
'Ext.ux.CheckColumn'
]);
Recibo mensajes de error en la consola JavaScript diciendo que intentó cargar (404) ext.grid.* Etc. Desde el mismo directorio.
¿Cómo especifico las rutas correctas para que busque?
Solución
Estás mezclando el nuevo ext js 4 Ext.Loader
con el ext js 3 Ext.Loader
. Su código incluye Ext JS 3 mientras usa la sintaxis y la API de Ext.Loader
de ext js 4.
los antiguo Ext JS 3 La documentación de la API se puede encontrar aquí: http://dev.sencha.com/deploy/ext-3.1/docs/
EDITAR
los antiguo Ext JS 3 Loader no admite la asignación de nombres de clases a las rutas, por lo que el cargador solo toma una matriz de rutas de archivo como argumento. Tenga en cuenta también que la carga se realiza de manera asíncrona para que sus archivos cargados solo estén disponibles después de que la carga haya terminado.