2015-02-06 77 views
0

我已經在Sencha Touch 2中擴展了我的實用程序/類,現在我想通過不同的類型再次擴展它,以便通過配置對象中的不同設置。 Ive再次擴展它,但只是擴展它(通過再次添加extend: 'Ext.ux.MyUX')它將返回先前對象中的優先設置,但我想完全不同地處理它。 如何刪除以前的擴展類或清空items[]Extend Class second time sencha touch 2

Ext.define('MyAPP.view.MyView', { 
    extend: 'Ext.ux.MyUX', 
    xtype: 'my', 
}); 

我的代碼:

initialize: function() { 
var items = [ 
      xtype: 'toolbar', 
      docked: 'top', 
      title:'title' 
     }]; 
this.setItems(items); 
} 

編輯1:

比方說,我後面的配置對象延長我Ext.ux.MyUX。對於第一個例子它的工作完美,擴展我的課程並覆蓋items[],但是當我想再次擴展時,這樣對於不同的覆蓋,它顯示之前被覆蓋/擴展的以前的items[]

config: { 
     fullscreen: true, 
     items : [ 
     { 
      title: 'Home' 
     }, 
     { 
      title: 'ABOUT', 
      items: [{ 
       items: [ 
       { xtype: 'about'}, 
      { 
       xtype: 'titlebar', 
       title: 'About Us', 
       docked: 'top' 
      }] 
      }] 
     } 

     ] 
    } 
+0

你能發佈完整的基本代碼和擴展類嗎? – Saki 2015-02-08 10:09:22

+0

@Saki可以採取簡單的配置'Ext.ux'項目。 – developer 2015-02-08 17:07:30

+0

從單純的描述來看,我不知道你想要達到什麼樣的目的,這是什麼問題。所以我希望我能從代碼中理解。 – Saki 2015-02-08 18:13:28

回答

0

在類原型有items不是,即使你不打算進一步擴展該類一個非常好的主意。如果您有多個實例,那麼來自原型的複雜變量將被所有不可避免導致麻煩的實例共享。

要你我想創建一個基類,將包含由後人所需要的所有功能,我會延長該:

B -> C 
B -> D 

,而不是根據需要

B -> C -> D 

後人將實施項目。

+0

我目前的行爲是'Ext.ux.myUX-> MYAPP.view.View1','Ext.ux.myUX-> MYAPP.view.View2',但是當我做第二次擴展時,它顯示了以前的項目。 – developer 2015-02-08 20:27:36

+0

有沒有辦法去除擴展視圖? – developer 2015-02-08 20:28:59

+0

這很好,但不要在'Ext.ux.myUX'中實現項目,但在視圖中。另一種選擇是使用[工廠功能](http://extjs.eu/?s=factory+function)。 – Saki 2015-02-08 20:29:53