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

Dojo初学者问题:如何让自定义小部件渲染?,dojo,Dojo,我正在尝试编写一个简单的DojoHelloWorld小部件,但在浏览器中看不到输出。 目录结构: tutorial dojotoolkit dijit dojo dojox my_ext HelloWorldWidget.js test.html 代码如下: HelloWorldWidget.js dojo.provide("my_ext.HelloWorldWidget"); dojo.require("dijit.

我正在尝试编写一个简单的DojoHelloWorld小部件,但在浏览器中看不到输出。 目录结构:

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>'
});
dojo.provide(“my_ext.HelloWorldWidget”);
require(“dijit._小部件”);
dojo.require(“dijit._模板化”);
dojo.declare(
“my_ext.HelloWorldWidget”[dijit.\u Widget,dijit.\u模板]{
templateString:“这是一个测试”
});
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>

var djConfig={
isDebug:true,parseOnLoad:true
};
require(“my_ext.HelloWorldWidget”);
如果有人能指出错误,那将非常有帮助。我在这上面花了相当长的时间,但毫无结果。
谢谢。

您是否检查了控制台中的错误消息


您的小部件名为
my_ext。HelloWorldWidget
dojoType需要完全限定的名称来查找小部件。

您是否检查了控制台中的错误消息


您的小部件名为
my_ext。HelloWorldWidget
dojoType需要完全限定的名称来查找小部件。

首先,将此js块从头部移动到身体:

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

require(“my_ext.HelloWorldWidget”);
在dojoType attr中第二次使用小部件的全名:

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

require(“my_ext.HelloWorldWidget”);

首先,将这个js块从头部移动到身体:

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

require(“my_ext.HelloWorldWidget”);
在dojoType attr中第二次使用小部件的全名:

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

require(“my_ext.HelloWorldWidget”);

嗯,我还没有把它放在服务器上。我只是将其用作静态页面,因此没有控制台。有什么想法吗?我指的是浏览器中的Javascript控制台,无论文件在哪里提供,甚至是在本地运行,它都能工作。但是除了找到控制台,您还可以尝试更改dojoType属性值。它说“无法加载我的_ext.HelloWorldWidget”。所有的路径似乎都是正确的。不确定发生了什么。我还没有把它放在服务器上。我只是将其用作静态页面,因此没有控制台。有什么想法吗?我指的是浏览器中的Javascript控制台,无论文件在哪里提供,甚至是在本地运行,它都能工作。但是除了找到控制台,您还可以尝试更改dojoType属性值。它说“无法加载我的_ext.HelloWorldWidget”。所有的路径似乎都是正确的。不确定发生了什么。此外,您不再需要标签上的
language=“JavaScript”
(实际上,如果您使用HTML5 doctype,您甚至不需要
type=“text/JavaScript”
)。此外,您不再需要标签上的
language=“JavaScript”
(实际上,您甚至不需要
类型=“text/javascript”
如果使用HTML5 doctype)。