未捕获的TypeError:对象[object Object]没有方法'onAdded'

时间:2014-08-25 10:16:31

标签: extjs model-view-controller extjs4 extjs-mvc

我正在使用ExtJS4和Java servlet。我正在关注ExtJS的MVC架构。我正在尝试一个显示边框布局的简单示例,但它不起作用,我在javascript控制台的ext-all.js中收到以下错误:

未捕获TypeError:对象[object Object]没有方法'onAdded'

这是我的代码:

app.js

Ext.Loader.setConfig({   
 enabled : true
});
Ext.application({
name : 'IN',
appFolder : 'app',
controllers : [ 'Items' ],
launch : function() {
    console.log('in LAUNCH-appjs');
    Ext.create('Ext.container.Viewport', {
        items : [ {
            xtype : 'borderlyt'
        } ]
    });
}
});

Items.js(控制器)

Ext.define('IN.controller.Items', {    
extend : 'Ext.app.Controller',
views : [ 'item.Border' ],
init : function() {
    this.control({
        'viewport > panel' : {
            render : this.onPanelRendered
        }
    });
},
onPanelRendered : function() {
    console.log('The panel was rendered');
}
});

Border.js(查看)

Ext.define('IN.view.item.Border',{extend : 'Ext.layout.container.Border',
alias : 'widget.borderlyt',
title : 'Border layout' ,
autoShow : true,
renderTo : Ext.getBody(),
defaults : {
            split : true,
            layout : 'border',
            autoScroll : true,
            height : 800,
            width : 500
        },
        items : [ {
            region : 'north',
            html : "Header here..",
            id : 'mainHeader'
        }, {
            region : 'west',
            width : 140,
            html : "Its West..",
        }, {
            region : 'south',
            html : "This is my temp footer content",
            height : 30,
            margins : '0 5 5 5',
            bodyPadding : 2,
            id : 'mainFooter'
        }, {
            id : 'mainContent',
            collapsible : false,
            region : 'center',
            margins : '5',
            border : true,
        } ]
 });

Webcontent的文件夹结构如下:

  • 的WebContent
    • 应用
      • 控制器
        • Items.js
      • 模型
      • 存储
      • 视图
          • Border.js
    • ext_js
      • 资源
      • SRC
      • ext_all.js
    • 的index.html
    • app.js

有人可以帮我解决此错误吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

Ext.define不得包含配置选项renderTo。加载组件时,主体可能仍然不存在。