2012-05-23 45 views
0

我有以下代码:道场dijit.form.button

require(["dijit/registry", "dijit/layout/BorderContainer", "dijit/layout/ContentPane", "dijit/form/Button", "dojo/query", "dojo/domReady!"], function(registry, BorderContainer, ContentPane, Button, query){ 

var appLayout = new BorderContainer({ 
    design: "sidebar" 
}, "appLayout"); 

var dataArea = new ContentPane({ 
    region: "center", 
    content: '<div id="grid"></div>' 
}); 

var actionArea = new ContentPane({ 
    region: "bottom", 
    id: "actionarea", 
    content: '<button id="computer"></button>' 
}); 

var treeArea = new ContentPane({ 
    region: "left", 
    id : "treearea", 
    content: '<div id="treeroot"></div>', 
    splitter: true 
}); 

var button = new Button({ 
    label: "Load Computer tree" 
}, "computer"); 

appLayout.addChild(treeArea); 
appLayout.addChild(dataArea); 
appLayout.addChild(actionArea); 
appLayout.startup(); 
button.startup(); 
}); 

所有的布局都正确加载,但我的按钮没有被加载。

我试图在button.startup()调用之前查询#电脑,并且装载得很好。

appLayout.addChild(treeArea); 
appLayout.addChild(dataArea); 
appLayout.addChild(actionArea); 
appLayout.startup(); 

console.log(query("#computer")); 

button.startup(); 
}); 

预先感谢您的任何帮助

回答

1

不要在标记创建按钮

var actionArea = new ContentPane({ 
    region: "bottom", 
    id: "actionarea" 
}); 

,只是设置按钮控件的内容

var button = new Button({ 
    label: "Load Computer tree" 
}); 
actionArea.set('content', button); 

这里的一个工作示例: http://jsfiddle.net/cswing/V6qK2/

+0

谢谢!使用dojo.ready(function(...){});是不一样的,需要“dojo/domReady!” ? – Swann

+0

是的。没有看到它被包括在内。更新小提琴并删除了该功能。 –

+0

我还有一个问题,我应该如何在'actionArea'ContentPane中添加第二个按钮或其他类型的内容? – Swann