2012-05-25 18 views
8

Ésta es una vista sencilla que quiero para crear una instancia:error no detectada: [Ext.createByAlias] No se puede crear una instancia de alias no reconocido: widget de

Ext.define('myapp.view.Home',{ 
    extend 'Ext.Panel', 
    xtype : 'testpanel' , 
    config: { 
     title:'home', 
     iconCls:'home', 
     cls : 'home', 
     html: [ 
      '<h1> Hello Guys </h1>', 
      '<p> some text goes here </p>' 
     ].join("") 
    } 
}); 

he añadido la vista a mi controlador de la siguiente manera:

Ext.define('myapp.controller.Main', { 
    extend : 'Ext.app.Controller', 
    views : ['Home'], 
    ... 
} 

he utilizado el xtype en mi solicitud de la siguiente manera:

items:[{ 
    xtype : 'testpanel' 
}, 

Todavía me sale este error:

Uncaught Error: [Ext.createByAlias] Cannot create an instance of unrecognized alias: widget.testpanel

Agradecemos su ayuda.

+1

1. su espacio de nombre debe comenzar con una letra mayúscula. 2. use alias: 'widget.x'. 3. asegúrese de que el archivo esté realmente incluido (¿lo ve en Firebug?) –

Respuesta

15

Creo que olvidó agregar esta vista en app.js - Ext.Application's "views" array. Verifica.

3

Debe usar la propiedad de alias, con el prefijo del widget.

Ext.define('myapp.view.Home',{ 
    extend 'Ext.Panel', 
    alias : 'widget.testpanel' , 
    config: { 
     title:'home', 
     iconCls:'home', 
     cls : 'home', 
     html: [ 
      '<h1> Hello Guys </h1>', 
      '<p> some text goes here </p>' 
     ].join("") 
    } 
}); 
+3

creo que puede usar la propiedad alias o xtype, he intentado ambos, y ellos generaron el mismo error – user1203861

4

¿Se puede reparar agregando esto?

requires:[ 
    'myapp.view.Home' 
] 
+0

+1. ¡sí, buen punto! Siempre que esté creando una instancia diferida de un objeto utilizando xtype dentro de una matriz de elementos, esa misma clase debe tener el nombre completo de la clase que define ese tipo de objeto. – MacGyver

1

Creo que necesita comprobar si los archivos están en el directorio correcto.

http://docs.sencha.com/ext-js/4-1/#!/guide/application_architecture

Aquí u podría encontrar referencias a entender qué podría ser incorrecto.

Comprobar si el objeto es myapp.view.Home en la aplicación del directorio/view/Home.js

alias debe ser como alias: '' widget.testpanel

y requiere: [ 'miaplicacion. view.Home '],

¿podría incluso publicar el archivo app.js?

1

Obtuve esta excepción cuando el valor xtype config/property (de la instancia del componente/objeto que se está creando) no coincidía con el nombre real de la configuración xtype de la clase xtype config/property value. Donde la instancia es la implementación diferida de un componente dentro de la configuración de elementos de su componente principal.

-1

Puede solucionarlo agregando la clase de controlador en la vista.

controlador: 'ControllerClass',

Cuestiones relacionadas