Dojo模拟仪表不工作

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

我正在尝试一个简单的例子 最初它不工作,因为它找不到dijit。我正在尝试的代码如下(后面的代码片段)


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>