1

我尝试在 dojo (1.7.2) 中使用 dijit 进行布局,但结果看起来不像我想要的那样。

我的第一次尝试是尝试一些示例(此处为http://pastebin.com/Uy0pFmn3)的声明式样式,效果很好。然后我尝试将其转换为程序样式(此处为http://pastebin.com/qRWUQsQN),但它只显示了最后创建的布局。

我是否误解了 dijit 的布局是如何工作的,或者只是在这里忽略了一些小问题?谢谢

4

3 回答 3

3

您必须添加 CSS 样式:

html, body {
    height: 100%;
    width: 100%;
}

对于 BorderContainer:

style="height:100%; width:100%"
于 2012-05-25T17:34:03.140 回答
0

编辑:好的,我明白了。我想我不能使用new ContentPane,而是,new dijit.layout.ContentPane(所以这里是最终版本http://pastebin.com/eYfeQUd8)。奇怪的,“只显示最后一个布局”是由我奇怪的 CSS 东西引起的。

让我感到困惑的一件事是为什么 newContentPane不起作用?据我记得,一些例子确实是这样的

require(["dijit/layout/BorderContainer", "dijit/layout/TabContainer",
        "dijit/layout/ContentPane"], function(BorderContainer) {new BorderContainer //STUFF//}
于 2012-05-25T03:15:29.983 回答
0

我在这里看到了问题。在您缺少的 pastebin 代码中,请声明函数参数,如下例所示...

您修改后的代码:

require(["dijit/layout/BorderContainer", "dijit/layout/TabContainer", "dijit/layout/ContentPane"], function( BorderContainer, TabContainer, ContentPane) {
var appLayout = new BorderContainer({"design": "headline"}, '应用布局');

此外,需要参数的顺序也应该在函数参数内匹配..

瓦西姆·艾哈迈德五世

于 2013-02-07T06:07:39.743 回答