2012-02-05 19 views
0

我正在关注ExtJS4.0 MVC Application Architecture walk through并将其修改为我自己的项目,因为我会确保自己的项目正确。到目前为止,它的工作完美。我刚刚完成了“定义视图”部分,并即将启动“控制网格”部分。在我做之前,我想删除console.log代码,因为我不想或不需要它用于我自己的项目。我发现我可以将它替换为一条警告消息,但不能将它全部删除,而不会对ext-all-debug.js生成错误。ExtJS4 MVC体系结构演练sencha doc给我的错误

这是我在控制器上运行的代码,以及在删除consol.log函数后生成的错误。在示例文档中,它是AM.controllers.list。

Ext.define('ChatAgent.controller.queues', { 
extend: 'Ext.app.Controller' 
, views: [ 
    'queue.list' 
] 
, init: function() { 
    this.control({ 
     'viewport > panel': { 
      render: this.onPanelRendered 
     } 
    }); 
} 

, onPanelRendered: function() { 
    console.log('The panel was rendered'); 
} 

});

它产生的错误是: “fireFn”为空或不是对象

所有我删除是:

onPanelRendered: function() { 
     console.log('The panel was rendered'); 
    } 

那么,为什么出错???

回答

0

您还需要摆脱事件侦听器。当渲染事件触发时,它正试图调用onPanelRendered,这已经不存在了。

如果你没有听任何事件,你甚至不需要有整个this.control块。评论一下,看看会发生什么。

this.control({ 
    'viewport > panel': { 
     render: this.onPanelRendered 
    } 
});