首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注册xtype时出现问题

注册xtype时出现问题
EN

Stack Overflow用户
提问于 2011-06-27 14:01:29
回答 1查看 2K关注 0票数 0

我正在尝试按照factory-functions-in-ext-extensions创建工厂函数,下面是我的代码

代码语言:javascript
复制
Ext.ns('MyApp');

MyApp.SubmitButton = Ext.extend(Ext.Button, {
     text:'Submit'
    ,iconCls:'icon-disk'
    ,initComponent:function() {
        MyApp.SubmitButton.superclass.initComponent.apply(this, arguments);
    } // eo function initComponent
}); // eo extend



var btn = new MyApp.SubmitButton();
Ext.reg('submitbutton1',btn);//this is not working

Ext.reg('submitbutton', MyApp.SubmitButton );//this works

var win1;
if(!win1) {
        win1 = new Ext.Window({
            title       : 'title',
            closeAction : 'hide',
            autoHeight  : true,
            autoWidth   : true,
            height      :  300,
            width       : 500,
            items       : [{xtype:'submitbutton1',id:'submitbutton'}]
        });
    }
win1.show();

当我运行这个的时候,它抛出错误"bd.xtype || e不是一个构造函数“

EN

回答 1

Stack Overflow用户

发布于 2011-06-27 14:47:47

您不能使用类的实例来注册xtype。你必须使用它的类名。Ext不会跟踪您正在创建的实例,而只是注册自定义组件类-这样您就可以这样使用了:

代码语言:javascript
复制
var button = new MyApp.SubmitButton({
         id : 'submitbutton'
    });

或,

代码语言:javascript
复制
{
     xtype : 'submitbutton',
     id:'submitbutton'
}

两者都是一样的。更多信息,请查看Saki的this article

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6489137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档