Dojo初学者问题:如何让自定义小部件呈现?

时间:2011-06-10 21:12:20

标签: dojo

我正在尝试编写一个简单的Dojo HelloWorld Widget,但我无法在浏览器中看到输出。 目录结构:

tutorial
  dojotoolkit
      dijit
      dojo
      dojox
      my_ext
         HelloWorldWidget.js
  test.html

以下是代码:

HelloWorldWidget.js

dojo.provide("my_ext.HelloWorldWidget");

dojo.require("dijit._Widget");
dojo.require("dijit._Templated");

dojo.declare(
"my_ext.HelloWorldWidget",[dijit._Widget,dijit._Templated], {
    templateString: '<div>This is a test</div>'
});

的test.html

<html>
    <head>

    <script type="text/javascript">
        var djConfig = {
        isDebug:true, parseOnLoad:true
        };
    </script>

    <script type="text/javascript" src="dojotoolkit/dojo/dojo.js"></script>

    <script language="JavaScript" type="text/javascript">
        dojo.require("my_ext.HelloWorldWidget");
    </script>

    </head>
    <body>
       <!-- as an HTML element with dojoType attribute -->
       <div dojoType="HelloWorldWidget"></div>
    </body>
</html>

如果有人可以指出错误,那将会非常有帮助。我花了很长时间没有成功。 感谢。

2 个答案:

答案 0 :(得分:3)

您是否检查过控制台是否有错误消息?

您的窗口小部件名为my_ext.HelloWorldWidget,dojoType需要完全限定名称才能找到窗口小部件。

答案 1 :(得分:2)

首先,将这个js块从头到尾移动:

<script language="JavaScript" type="text/javascript">
  dojo.require("my_ext.HelloWorldWidget");
</script>

第二个在dojoType attr使用小部件的全名:

<body>
    <script language="JavaScript" type="text/javascript">
        dojo.require("my_ext.HelloWorldWidget");
    </script>
    <div dojoType="my_ext.HelloWorldWidget"></div>
</body>