2012-01-11 111 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>' 
});