如何以编程方式创建dojox.mobile.TabBar?

如何以编程方式创建dojox.mobile.TabBar?,mobile,tabbar,toolkit,dojo,Mobile,Tabbar,Toolkit,Dojo,我想创建一个分段控件类型的dojox.mobile.TabBar,如本页顶部的控件: 查看源代码,我可以看到如何以声明的方式执行此操作: <ul dojoType="dojox.mobile.TabBar" barType="segmentedControl"> <li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-16.png" icon2="images/tab-icon-16h.png

我想创建一个分段控件类型的dojox.mobile.TabBar,如本页顶部的控件:

查看源代码,我可以看到如何以声明的方式执行此操作:

   <ul dojoType="dojox.mobile.TabBar" barType="segmentedControl">
   <li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-16.png" icon2="images/tab-icon-16h.png" moveTo="view1" selected="true">New</li>
   <li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-15.png" icon2="images/tab-icon-15h.png" moveTo="view2">What's Hot</li>
    <li dojoType="dojox.mobile.TabBarButton" icon1="images/tab-icon-10.png" icon2="images/tab-icon-10h.png" moveTo="view3">Genius</li>
    </ul>
    新建 什么是热门 天才
但我一直不知道如何在程序上做同样的事情。 TabBar在Dojo 1.6中是新的,但在

但我的新手自己仍然不知道如何通过编程创建tabbarbutton并将其与TabBar关联。我可以在web上找到多个示例,这些示例演示了如何以声明方式(而不是编程方式)执行此操作

var tabBar = new dojox.mobile.TabBar({barType : "segmentedControl"}, node1);
var button1 = new dojox.mobile.TabBarButton({icon1 : "", icon2 : ""}, node2);
var button2 = ...;
var button3 = ...;
tabBar.addChild(button1);
tabBar.addChild(button2);
tabBar.startup();

任何人都知道任何编程示例,或者可以在这里提供一个?

要归档您的问题中声明式创建小部件的相同结果,您可以使用以下JavaScript代码以编程方式创建它们

var tabBar = new dojox.mobile.TabBar({barType : "segmentedControl"}, node1);
var button1 = new dojox.mobile.TabBarButton({icon1 : "", icon2 : ""}, node2);
var button2 = ...;
var button3 = ...;
tabBar.addChild(button1);
tabBar.addChild(button2);
tabBar.startup();
因此,从声明式创建转换为编程式创建的规则可以很简单。使用
new
创建dijit类的新实例并提供两个参数。第一个参数是JavaScript对象,它包含启动小部件的属性,这些属性取自声明性语法中的DOM属性。第二个参数是与小部件关联的DOM节点

类似于dojox.mobile.TabBar的小部件是可以包含其他小部件的容器小部件。这些小部件继承自dijit.\u容器,可以使用
addChild
函数添加子部件

不要忘记使用
startup
启动容器小部件。此函数告诉容器您已经完成了容器及其子容器的工作。容器小部件通常在
启动
功能中进行一些调整大小的工作。以声明方式创建时会自动调用
启动