9

这是我要实例化的简单视图:

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("")
    }
});

我已将视图添加到我的控制器中,如下所示:

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

我在我的应用程序中使用了 xtype,如下所示:

items:[{
    xtype : 'testpanel'
},

我仍然收到此错误:

未捕获的错误:[Ext.createByAlias] 无法创建无法识别别名的实例:widget.testpanel

我感谢您的帮助。

4

6 回答 6

16

我想你忘了在 app.js - Ext.Application 的“views”数组中添加这个视图。做检查。

于 2012-05-28T15:00:31.967 回答
4

可以通过添加来解决吗?

requires:[
  'myapp.view.Home'
]
于 2012-05-26T16:54:10.267 回答
3

您需要使用带有小部件前缀的别名属性。

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("")
    }
});
于 2012-05-25T23:50:14.663 回答
1

我想你需要检查文件是否进入正确的目录。

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

在这里,您可以找到参考资料以了解可能出了什么问题。

检查对象 myapp.view.Home 是否在目录 app/view/Home.js 中

别名必须像别名:'widget.testpanel'

和一个要求:['myapp.view.Home'],

你甚至可以发布 app.js 文件吗?

于 2012-05-26T23:48:12.740 回答
1

当 xtype config/property 值(正在创建的组件/对象实例的)与类 xtype config/property 值的 xtype config 的实际名称不匹配时,我得到了这个异常。其中实例是其父组件的项目配置中组件的惰性实现。

于 2013-06-27T06:23:23.577 回答
-1

您可以通过在视图中添加控制器类来修复。

控制器:“控制器类”,

于 2014-12-23T21:51:00.480 回答