2012-08-23 54 views
0

我正在使用Dojo Toolkit實現移動應用程序。該應用程序有幾個頁面,所有頁面都有相同的TabBar。目前,TabBar在每個頁面都被硬編碼。所以如果想進行更改,我需要在每個頁面中更改TabBar。我如何使用Dojo Toolkit解決這個問題?Dojo Toolkit中的代碼重用

回答

3

使用dojo.declare,創建由TabBar擴展的自定義小部件。然後在您的初始化代碼中,需要該模塊並在您的標記代碼中將dojoType設置爲您的自定義模塊名稱。一些與此類似:

require([ 
    "dojox/mobile/TabBar", 
    "dojox/mobile/TabBarButton" 
    ], function (TabBar, Button) { 

    dojo.declare("myTabBar", [ TabBar ], { 

     buildRendering: function() { 
      this.inherited(arguments); // call parent 
      // add a number of children 
      this.addChild(new Button({ 
       icon1: 'path/to/image', 
       icon1: 'path/to/hoverimage', 
       label: 'clickme', 
       moveTo:"view1" 
      })); 
     } 
    }); 
}); 

而是在你的代碼的UL/LI HTML標記,只需添加:

<div dojoType="myTabBar"></div> 

運行示例:http://jsfiddle.net/8sD6A/

+0

請問這一塊給你的代碼的工作? – Javiator

+0

沒有經過測試..但它應該讓你知道什麼是宣告。使用dojo.declare創建一個模塊,您可以通過小部件框架重用並輕鬆轉換爲DOM模塊(考慮查看模板 - 請參閱http://dojotoolkit.org/documentation/tutorials/1.6/templated/ – mschr

+0

請參閱jsfiddle。 net example - 代碼中有一點語法錯誤,找不到圖標。 – mschr