Pregunta

Me da un error en la consola: Ext.application is not a function.Mi index.html el archivo contiene este código:

...
<link rel="stylesheet" type="text/css" href="/ext-5.0.1/packages/ext-theme-neptune/build/resources/ext-theme-neptune-all.css" />
<script src="/ext-5.0.1/ext-all-debug.js"></script>    
<script type="text/javascript" src="app.js"></script>    
...

Mientras app.js acaba de este código, tomado de una demo:

Ext.application({
name: 'AM',
appFolder: 'app',
launch: function() {
    Ext.create('Ext.container.Viewport', {
        layout: 'fit',
        items: [{
                xtype: 'panel',
                title: 'Users',
                html : 'List of users will go here'
        }]
    });
}
});

EDITAR

Por el camino, incluso la ejecución de "oficial" /ext-5.0.1/examples/app/simple/simple.html Me sale el mismo error.¿Por qué es eso?

¿Fue útil?

Solución

Envuelva la llamada a Ext.application dentro de un Ext.onReady el bloque.

// app.js
Ext.onReady(function() {
  Ext.application({
    name: 'AM',
    appFolder: 'app',
    launch: function() {
      Ext.create('Ext.container.Viewport', {
        layout: 'fit',
        items: [{
          xtype: 'panel',
          title: 'Users',
          html : 'List of users will go here'
        }]
      });
    }
  });
})

La razón de esto es necesario, por CIERTO, es que el ext-all-debug.js los archivos no contenga todos los de ExtJS.Contiene el código de inicio - el código que sabe cómo conseguir todo lo demás.Parte de ese "todo lo demás" es el código de la aplicación.Así hasta que tuvo la oportunidad de correr, Ext.la aplicación no existe.

El portal de ejemplo que mencionas funciona porque se utiliza el resultado de un sencha app build - la microloader.js.Esto carga una versión completa de ExtJS (o más bien, las partes usadas en la aplicación), y por lo tanto Ext.la aplicación ya está definido por el tiempo en que se usa.(Lo mismo pasa con Sencha Violín - no se necesita la Ext.onReady allí)

Otros consejos

en lugar de

<script src="/ext-5.0.1/ext-all-debug.js"></script>

debe usar

<script src="/ext-5.0.1/build/ext-all-debug.js"></script>

El segundo contiene todos los componentes y clases como se espera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top