无法在dojo中将输出打印到控制台
我是dojo的初学者,我正在尝试使用dojo代码将输出打印到控制台。但我不知道下面的代码中有什么问题,如何将输出打印到控制台无法在dojo中将输出打印到控制台,dojo,Dojo,我是dojo的初学者,我正在尝试使用dojo代码将输出打印到控制台。但我不知道下面的代码中有什么问题,如何将输出打印到控制台 <html> <head> <script type = "text/javascript" src = "dojo/dojo.js" data-dojo-config = "async: true, isDebug : true" > </script> </head> <body> <h1
<html>
<head>
<script type = "text/javascript" src = "dojo/dojo.js" data-dojo-config = "async: true, isDebug : true" >
</script>
</head>
<body>
<h1 id = "greeting">Hello</h1>
<script>
define(["dojo/dom"],function(dom) {
var Twitter = declare(null, {username:"defaultusername",
say :function(msg)
{
console.log("Hello "+msg);
}
});
var myInstance = new Twitter();
myInstance.say("Dojo");
});
</script>
</body>
</html>
你好
定义([“dojo/dom”],函数(dom){
var Twitter=declare(null,{username:“defaultusername”,
say:函数(msg)
{
log(“Hello”+msg);
}
});
var myInstance=newtwitter();
myInstance.say(“Dojo”);
});
不能在内联脚本代码中定义,内联脚本代码是一个类定义,放在类文件的最上面一行,这意味着define将文件名映射到其函数的返回值
这意味着,如果你有
dojo_toolkit /
dojo/
dijit/
dojox/
libs/
myWidgets/
foo.js
而foo.js读取
define(["dijit._Widget"], function(adijit) {
return declare("libs.myWidgets.foo", [adijit], function() {
say: function(msg) { console.log(msg); }
});
});
然后注册一个新模块,名为libs
/myWidgets
/foo
。您应该确保每个define中返回的declaredClass与文件层次结构匹配
也就是说,define对您不起作用的原因是上面的解释。它是内联的,没有用来猜测declaredClass名称的src
。将代码重写为定义(“aTwitterLogger”),[“:
define("aTwitterLogger", ["dojo/_base/declare", "dojo/dom"],function(declare, dom) {
var Twitter = declare(null, {
username:"defaultusername",
say :function(msg)
{
console.log("Hello "+msg);
}
});
var myInstance = new Twitter();
myInstance.say("Dojo");
});
您不能在内联脚本代码中
define
,内联脚本代码是一个类定义,放在类文件的最上面一行,这意味着define将文件名映射到其函数的返回值
这意味着,如果你有
dojo_toolkit /
dojo/
dijit/
dojox/
libs/
myWidgets/
foo.js
而foo.js读取
define(["dijit._Widget"], function(adijit) {
return declare("libs.myWidgets.foo", [adijit], function() {
say: function(msg) { console.log(msg); }
});
});
然后注册一个新模块,名为libs
/myWidgets
/foo
。您应该确保每个define中返回的declaredClass与文件层次结构匹配
也就是说,define对您不起作用的原因是上面的解释。它是内联的,没有用于猜测declaredClass名称的src
。请将您的代码重写为define(“aTwitterLogger”),[“:
define("aTwitterLogger", ["dojo/_base/declare", "dojo/dom"],function(declare, dom) {
var Twitter = declare(null, {
username:"defaultusername",
say :function(msg)
{
console.log("Hello "+msg);
}
});
var myInstance = new Twitter();
myInstance.say("Dojo");
});
使用
require
而不是define
:
<script>
require(["dojo/dom", "dojo/_base/declare"], function(dom, declare) {
var Twitter = declare(null, {
username: "defaultusername",
say :function(msg) {
console.log("Hello "+msg);
}
});
var myInstance = new Twitter();
myInstance.say("Dojo");
});
</script>
require([“dojo/dom”,“dojo/_base/declare”],函数(dom,declare){
var Twitter=declare(null{
用户名:“默认用户名”,
say:函数(msg){
log(“Hello”+msg);
}
});
var myInstance=newtwitter();
myInstance.say(“Dojo”);
});
控制台
可以工作,但是在声明
中的回调函数中的代码在要求
它之前不会被执行。使用要求
而不是定义
:
<script>
require(["dojo/dom", "dojo/_base/declare"], function(dom, declare) {
var Twitter = declare(null, {
username: "defaultusername",
say :function(msg) {
console.log("Hello "+msg);
}
});
var myInstance = new Twitter();
myInstance.say("Dojo");
});
</script>
require([“dojo/dom”,“dojo/_base/declare”],函数(dom,declare){
var Twitter=declare(null{
用户名:“默认用户名”,
say:函数(msg){
log(“Hello”+msg);
}
});
var myInstance=newtwitter();
myInstance.say(“Dojo”);
});
<代码>控制台< /COD>工作,但代码中的回调函数在<代码>声明/代码>之前没有执行,直到<代码>要求< /Calp>它。< /P>我使用Firefox,但我不能打印输出,即使在ChalMe中。考虑这个小提琴我使用Firefox,但我不能打印输出,即使在ChalMe。考虑这个小提琴。