代码之家  ›  专栏  ›  技术社区  ›  user2817229

在没有HTML的情况下以编程方式创建dojox/app视图

  •  0
  • user2817229  · 技术社区  · 10 年前

    我正在考虑制作一个web应用程序,并考虑使用dojox/app来实现。

    我更倾向于使用更具编程性的dojo方法,但dojox/app似乎主要是声明性的。

    经过一番搜索,我发现了一个档案,基本上问了我同样的问题 http://dojo-toolkit.33424.n3.nabble.com/Questions-about-dojox-app-design-td3988709.html

    伙计们, 我一直在看dojox的livedocs。虽然它看起来很酷,但我>不得不说有些事情我不清楚。

    具体来说,是视图的“模板”属性-指定html文件-a>必须还是可选?

    这是在2012年。

    从那时起,我在文档中的示例中发现了customeApp测试,它似乎显示了dojox/app中的基本编程视图,但我在理解它时遇到了一些困难。

    我希望像这样创建我的应用程序的不同视图

    require([
      "dojo/dom",
      "dojo/ready",
      "dojox/mobile/Heading",
      "dojox/mobile/ToolBarButton"
    ], function(dom, ready, Heading, ToolBarButton){
      ready(function(){
        var heading = new Heading({
          id: "viewHeading",
          label: "World Clock"
        });
        heading.addChild(new ToolBarButton({label:"Edit"}));
        var tb = new ToolBarButton({
          icon:"mblDomButtonWhitePlus",
          style:"float:right;"
        });
        tb.on("click", function(){ console.log('+ was clicked'); });
        heading.addChild(tb);
        heading.placeAt(document.body);
        heading.startup();
      });
    });
    

    但我只能找到这样的例子

    <div data-dojo-type="dojox/mobile/Heading" data-dojo-props='label:"World Clock"'>
      <span data-dojo-type="dojox/mobile/ToolBarButton">Edit</span>
      <span data-dojo-type="dojox/mobile/ToolBarButton"
            data-dojo-props='icon:"mblDomButtonWhitePlus"'
            style="float:right;" onclick="console.log('+ was clicked')"></span>
    </div>
    

    有没有一种方法可以通过编程的方式来解决这个问题,或者我可以找到一些关于这里发生的事情的澄清 https://github.com/dmachi/dojox_application/tree/master/tests/customApp

    1 回复  |  直到 10 年前
        1
  •  0
  •   alex-tech    10 年前

    绝对地我已经用编程方式创建它们很长一段时间了,我相信这比模板化要好得多。解决框架的困难在于知道要搜索的关键字。我相信,您的答案可以通过学习DojoWidgetBase以及任何使用“Widget”一词的东西来找到。

    好的开始在这里 http://dojotoolkit.org/reference-guide/1.10/quickstart/writingWidgets.html 。要成功使用Dojo Widget,您还需要:

    我在templateString的HTML标记中使用的唯一自定义属性是 数据dojo连接点 数据dojo附加事件 。这些非常方便,节省了大量时间,使数据绑定不易出错,从而自动将小部件的类属性与标记中的值连接起来。尽管你也可以用innerHTML以编程方式完成这些任务,但在我看来,冗长乏味的样板代码并不值得你这么做。

    看完那篇教程,如果最后你不明白什么,请告诉我,我会详细说明(我不是那种只通过链接发送询问者而不必详细说明材料的人)。