【问题标题】:Uncaught Error: [Ext.createByAlias] Cannot create an instance of unrecognized alias: widget未捕获的错误:[Ext.createByAlias] 无法创建无法识别别名的实例:小部件
【发布时间】:2012-05-25 23:13:31
【问题描述】:

这是一个我想实例化的简单视图:

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

感谢您的帮助。

【问题讨论】:

  • 1.您的命名空间应以大写字母开头。 2. 使用别名:'widget.x'。 3. 确保文件确实包含在内(你在 Firebug 中看到了吗?)

标签: sencha-touch extjs


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    添加这个可以解决吗?

    requires:[
      'myapp.view.Home'
    ]
    

    【讨论】:

    • +1 ...是的,好点!每当您在 items 数组中使用 xtype 创建对象的惰性实例时,同一个类必须具有定义该 xtype 的类的完全限定名称。
    【解决方案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("")
        }
    });
    

    【讨论】:

    • 我认为你可以使用 alias 或 xtype 属性,我都试过了,他们提出了同样的错误
    【解决方案4】:

    我认为你需要检查文件是否在正确的目录中。

    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 文件吗?

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

        控制器:'ControllerClass',

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-10-10
          • 2016-05-28
          • 1970-01-01
          • 2017-11-24
          • 2017-06-06
          • 2019-02-18
          • 2015-11-13
          • 1970-01-01
          相关资源
          最近更新 更多