【发布时间】:2013-09-14 01:31:24
【问题描述】:
我正在使用 requirej 加载所有 Rickshaw js 文件,这样:
define([ "rickshaw","rickshaw/Rickshaw.Class","rickshaw/Rickshaw.Compact.ClassList","rickshaw/Rickshaw.Graph","rickshaw/Rickshaw.Graph.Renderer",
"rickshaw/Rickshaw.Graph.Renderer.Area","rickshaw/Rickshaw.Graph.Renderer.Line","rickshaw/Rickshaw.Graph.Renderer.Bar","rickshaw/Rickshaw.Graph.Renderer.ScatterPlot",
"rickshaw/Rickshaw.Graph.RangeSlider","rickshaw/Rickshaw.Graph.HoverDetail","rickshaw/Rickshaw.Graph.Annotate","rickshaw/Rickshaw.Graph.Legend",
"rickshaw/Rickshaw.Graph.Axis.Time","rickshaw/Rickshaw.Graph.Behavior.Series.Toggle","rickshaw/Rickshaw.Graph.Behavior.Series.Order",
"rickshaw/Rickshaw.Graph.Behavior.Series.Highlight","rickshaw/Rickshaw.Graph.Smoother","rickshaw/Rickshaw.Graph.Unstacker","rickshaw/Rickshaw.Fixtures.Time",
"rickshaw/Rickshaw.Fixtures.Number","rickshaw/Rickshaw.Fixtures.RandomData","rickshaw/Rickshaw.Fixtures.Color","rickshaw/Rickshaw.Color.Palette",
"rickshaw/Rickshaw.Graph.Axis.Y","rickshaw/Rickshaw.Series","rickshaw/extensions"], function() {
function draw(dObj, containerId, sliderId, timelineId, legendId) {
var graph = new Rickshaw.Graph({
element: document.getElementById(containerId),
renderer: 'area',
height: 400,
stroke: true,
series: dObj
});
graph.render();
var slider = new Rickshaw.Graph.RangeSlider({
graph: graph,
element: $(sliderId)
});
.......
}
当我加载页面时出现此错误:
TypeError: $super 不是函数
【问题讨论】:
-
你忘记
element: $("#" + sliderId)中的哈希了吗? -
我的滑块变量有它。在我将文件转换为使用 requirejs 之前它工作正常。我想这与加载脚本有关。在某个时候,我意识到像 Rickshaw.Class not found 这样的错误突然出现了。所以我开始在 require config 中使用“shim”,这有助于正确加载依赖项。喜欢 shim : [ "rickshaw/Rickshaw.Compact.ClassList" : {deps : "rickshaw/Rickshaw.Class"} ] 但没有帮助。
标签: javascript rickshaw