Dojo Toolkit中的代码重用

时间:2012-08-23 12:19:27

标签: javascript html mobile dojo

我正在使用Dojo Toolkit实现移动应用程序。该应用程序有几个页面,所有页面都有相同的TabBar。目前,TabBar在每个页面都是硬编码的。因此,如果想要进行更改,我需要在每个页面中更改TabBar。如何使用Dojo Toolkit解决此问题?

1 个答案:

答案 0 :(得分:4)

使用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/