2012-01-11 110 views
0

法“的setSize”这是我打开面板:面板我的面板内抛出一个错误 - 无法调用未定义

Ext.define("Ez.view.usefullinks.Panel", { 
extend: "Ext.panel.Panel", 
alias: "widget.usefullinkspanel", 
layout: "border", 
border: 0, 
initComponent: function() { 
     this.sitePanel = Ext.create("Ez.view.usefullinks.sitePanel"); 
     this.items = [ 
     this.sitePanel 
     ]; 
    this.callParent(arguments); 
} 
}); 

这里是这是造成错误的面板:

Ext.define("Ez.view.usefullinks.sitePanel", { 
extend: "Ext.panel.Panel", 
alias: "widget.usefullinkssitepanel", 
region: "center", 
layout: "fit", 

initComponent: function() { 
    this.items= [ 
    '<iframe frameborder="0" src="http://www.google.com" width="100%" height="100%">' 
    ] 
} 
}); 

这里有什么明显的错误吗?

我必须遵循initComponent语法。我有一个边框布局,因为更多的项目在我的代码中,但它们与此错误无关。谢谢。

回答

2

您无法直接将html传递给items数组。您可以改为试试这个:

Ext.define("Ez.view.usefullinks.sitePanel", { 
    extend: "Ext.panel.Panel", 
    alias: "widget.usefullinkssitepanel", 
    region: "center", 
    layout: "fit", 

    listeners: { 
     afterrender: function() { 
      Ext.core.DomHelper.append(this.getEl(), '<iframe frameborder="0" src="http://www.google.com" width="100%" height="100%"></iframe>'); 
     } 
    } 
}); 

Ext.define("Ez.view.usefullinks.sitePanel", { 
    extend: "Ext.panel.Panel", 
    alias: "widget.usefullinkssitepanel", 
    region: "center", 
    layout: "fit", 

    html: '<iframe frameborder="0" src="http://www.google.com" width="100%" height="100%"></iframe>' 
});