【问题标题】:Dojo (Dijit) bordercontainer does not show correctly (programatically)Dojo (Dijit) 边界容器未正确显示(以编程方式)
【发布时间】:2012-05-25 02:52:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: dojo


    【解决方案1】:

    您必须添加 CSS 样式:

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

    对于 BorderContainer:

    style="height:100%; width:100%"
    

    【讨论】:

      【解决方案2】:

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

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

      require(["dijit/layout/BorderContainer", "dijit/layout/TabContainer",
              "dijit/layout/ContentPane"], function(BorderContainer) {new BorderContainer //STUFF//}
      

      【讨论】:

        【解决方案3】:

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

        您修改后的代码:

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

        require 参数的顺序也应该在函数参数内部匹配..

        瓦西姆·艾哈迈德五世

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-29
          • 1970-01-01
          相关资源
          最近更新 更多