Dojo的依赖关系问题-未捕获的TypeError:chart.addPlot不是函数

1szpjjfi  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(151)

我尝试在代码中添加Dojo/Dojox图表,但是我一直收到错误Uncaught TypeError: chart.addPlot is not a function。我非常确定这是我在define([...], function()...下设置依赖关系的方式有问题,但是我没有看到它。我的依赖关系设置如下:

define([
'dojo/_base/declare',
'dijit/_WidgetsInTemplateMixin',   
'dojo/io-query',
'dojo/query',
'dijit/MenuItem', 
....//Dependencies added for Pie Chart. See corresponding functions
'dojox/charting/Chart2D', 
'dojox/charting/plot2d/Pie',
'dojox/charting/action2d/Highlight',   
'dojox/charting/action2d/MoveSlice', 
'dojox/charting/action2d/Tooltip',
'dojox/charting/themes/PrimaryColors'
], function (declare, _WidgetsInTemplateMixin, BaseWidget, ... 
...Chart2D, Pie, Highlight, MoveSlice, Tooltip, dojoxTheme) 
{ 
/*jshint unused: true*/
return declare([BaseWidget, _WidgetsInTemplateMixin], {
 ...

正如你所看到的,我的函数是按照相同的顺序排列的:Chart2D, Pie, Highlight, MoveSlice, Tooltip, dojoxTheme。在下面的代码中,我通过调用构造函数new Chart2D创建了一个名为chart的变量。我假设这样我就可以使用它下面的任何方法。.addPlotChart2D的一个方法。

var c = domConstruct.create("div", {
      id: "Chart"
    }, domConstruct.create("div"));

 var chart = new Chart2D(c);

然而当我尝试使用下面的代码时,我得到了错误提示。当我添加依赖项时,是否遗漏了什么?建议?

chart.addPlot("default", {
      type: "Pie",
      radius: 50,
      htmlLabels: true
    });
km0tfn4u

km0tfn4u1#

我刚刚找到了我的问题的答案。它确实与模块和函数参数的顺序有关。简单地说,问题是这样的:当我在define下面列出我的模块时,它们并没有和下面的函数别名/参数对齐。有几个mods没有列出函数参数,所以我想只要它们仍然是“技术上”按时间顺序排列就可以了。事实并非如此。这就是导致错误的原因。一旦我移动了它们(见下文),问题已修复。希望这对有类似问题的人有所帮助。x1c 0d1x

相关问题