2013-11-27 69 views
-1

我是extjs 4.0的新學習者,並嘗試了一些學習資料的例子。與「佈局運行失敗」與下面的代碼預期 一個例子不起作用:「佈局運行失敗」上的Ext.Panel.tbar

var panel = Ext.create("Ext.Panel",{ 
    renderTo:Ext.getBody(), 
    layout:"auto", 
    height:500, 
    width:400, 
    autoLoad:{ 
     url:"Component.txt", 
     renderer:"component" 
    }, 
    renderer:"component", 
    tbar:[ 
     {text:"load", scope:panel, handler:function() { 
       panel.loader.load({ 
        url:"Component1.txt", 
        renderer:"component" 
       }); 
      } 
     }, 
     {text:"remove", scope:panel, handler:function() { 
       panel.loader.load({ 
        url:"Component1.txt", 
        renderer:"component", 
        removeAll:true 
       }); 
      } 
     } 
    ] 
}); 

component.txt: 
{xtype:'panel',height:100, width:200, html:"Original Component"} 

component1.txt: 
{xtype:'panel', height:100, width:90, html:"New Component"} 

我試圖刪除tbar部分,它的工作原理。 所以我相信問題是tbar。 Ext JS版本:ext-4.2.1.883 瀏覽器:Firefox 25.0.1,Google Chrome 31.0.1650.57 m

有什麼好建議?

回答

0

scope: panel存在問題。您不能在該變量的定義內使用變量panel。你的代碼如下:

panel = Ext.create(.... scope: panel ...); 

這是沒有意義的。也許scope: this會做你正在尋找的東西。如果不是,你必須重新思考你定義班級的方式。

無論如何,推薦的方法是在專用文件中定義您的班級,並堅持使用MVC recommendations

+0

感謝您的信息。我嘗試了你的建議(範圍:這個),但它仍然不起作用。 – user3041593