Dojo模拟仪表不工作
我正在尝试一个简单的例子 最初它不工作,因为它找不到dijit。我正在尝试的代码如下(后面的代码片段)Dojo模拟仪表不工作,dojo,Dojo,我正在尝试一个简单的例子 最初它不工作,因为它找不到dijit。我正在尝试的代码如下(后面的代码片段) dojoConfig={ parseOnLoad:true } require(“dojox.widget.AnalogGauge”); require(“dijit.Dialog”); require(“dojox.widget.gauge.AnalogArcIndicator”); require(“dojox.widget.gauge.indicator”); ready(functi
dojoConfig={
parseOnLoad:true
}
require(“dojox.widget.AnalogGauge”);
require(“dijit.Dialog”);
require(“dojox.widget.gauge.AnalogArcIndicator”);
require(“dojox.widget.gauge.indicator”);
ready(function()){
var gauge=dijit.byId('speedo');
//用于下面的渐变弧指示器:
变量填充={
“类型”:“线性”,
“x1”:50,
‘y1’:50,
“x2”:350,
“y2”:350,
“颜色”:[{
偏移量:0,
颜色:“黑色”
}, {
偏移量:0.5,
颜色:“黑色”
}, {
偏移量:0.75,
颜色:“黄色”
}, {
抵销:1,
颜色:“红色”
}]
};
gauge.addIndicator(新的dojox.widget.gauge.AnalogArcIndicator({
“值”:200,
“宽度”:20,
“偏移量”:150,
“颜色”:填充,
“不改变”:对,
“hideValues”:正确
}));
gauge.addIndicator(新的dojox.widget.gauge.AnalogArcIndicator({
“值”:80,
“宽度”:10,
“偏移量”:150,
“颜色”:“蓝色”,
“标题”:“弧”,
“悬停”:“弧:80”
}));
gauge.addIndicator(新的dojox.widget.gauge.Analog指示器({
“值”:100,
“宽度”:8,
“长度”:150,
“颜色”:“红色”,
'标题':'针',
“悬停”:“指针:100”
}));
});
从浏览器控制台窗口中,我可以找到以下错误“UncaughtTypeError:无法读取未定义dojo的属性”“”。但我无法找到我将要出错的地方。
请对此提供一些帮助。似乎您需要放置
<script>
dojoConfig = {
parseOnLoad : true
}
</script>
我看到dojox/widget/AnalogGauge.js的Javascript文件只是到dojox/gauges/AnalogGauge的映射 如果我将dojox/widget/AnalogGauge更改为dojox/gauges/AnalogGauge,它会突然工作 我不完全确定发生了什么,但我猜它正在dojox/gauges/AnalogGauge.js文件中“/_Gauge”的相对路径上呕吐 我知道这个问题有点老了,但这个问题在dojo 1.9中仍然很突出,因为当我搜索解决方案时,这个页面排名为#1,所以我想我应该在这里记录我发现的内容
<script>
dojoConfig = {
parseOnLoad : true
}
</script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/dojo/1.7.3/dijit/themes/claro/claro.css" media="screen">
<script>
dojoConfig = {
parseOnLoad : true
}
</script>
<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.8.0/dojo/dojo.js"></script>
<meta charset="utf-8">
<script>
dojo.require("dojo.parser");
dojo.require("dojox.widget.AnalogGauge");
dojo.require("dojox.widget.gauge.AnalogArcIndicator");
dojo.require("dojox.widget.gauge.AnalogNeedleIndicator");
dojo.ready(function() {
var gauge = dijit.byId('speedo');
// Used for a gradient arc indicator below:
var fill = {
'type' : 'linear',
'x1' : 50,
'y1' : 50,
'x2' : 350,
'y2' : 350,
'colors' : [{
offset : 0,
color : 'black'
}, {
offset : 0.5,
color : 'black'
}, {
offset : 0.75,
color : 'yellow'
}, {
offset : 1,
color : 'red'
}]
};
gauge.addIndicator(new dojox.widget.gauge.AnalogArcIndicator({
'value' : 200,
'width' : 20,
'offset' : 150,
'color' : fill,
'noChange' : true,
'hideValues' : true
}));
gauge.addIndicator(new dojox.widget.gauge.AnalogArcIndicator({
'value' : 80,
'width' : 10,
'offset' : 150,
'color' : 'blue',
'title' : 'Arc',
'hover' : 'Arc: 80'
}));
gauge.addIndicator(new dojox.widget.gauge.AnalogNeedleIndicator({
'value' : 100,
'width' : 8,
'length' : 150,
'color' : 'red',
'title' : 'Needle',
'hover' : 'Needle: 100'
}));
});
</script>
</head>
<body class="claro">
<div data-dojo-type="dojox.widget.AnalogGauge"
id='speedo'
width="450"
height="300"
cx="225"
cy="175"
radius="150"
startAngle="-135"
endAngle="135"
useRangeStyles="0"
hideValues="true"
color: "white"
majorTicks="{length: 10, offset: 105, interval: 10, color: 'gray'}"
minorTicks="{length: 5, offset: 105, interval: 5, color: 'gray'}">
<div data-dojo-type="dojox.widget.gauge.Range"
low="0"
high="100"
color="{'color': 'black'}"></div>
<div data-dojo-type="dojox.widget.gauge.Range"
low="100"
high="200"
color="{'color': 'black'}"></div>
</div>
</body>