【问题标题】:Dojo 1.5.0 Charting Legend missingDojo 1.5.0 图表图例丢失
【发布时间】:2011-03-22 06:12:12
【问题描述】:

我刚刚从 Dojo 1.4.3 升级到 1.5.0,发现我的传奇现在不见了。 其他人有这个问题吗??

我不断收到以下错误:

o 在 dojo.js 第 73 行中未定义

这个错误发生在

chart1.render(); //图表显示但错误导致该javascript函数中的其余代码不执行(因此,不是图例,因为它是在chart1.render()之后创建的;线。

执行。在 1.4.3 版中完美运行。

【问题讨论】:

    标签: dojo legend dojox.charting


    【解决方案1】:

    图表测试对您有用吗?转到Dojo Nightly Charting Tests 并选择一个使用工具提示的测试,例如test_event2d.html。如果它适合您,请查看您的设置有什么不同。如果您发现了差异,并且与 Dojo 有关,请file a bug。不要忘记提及您使用的浏览器,并附上一个简约的测试用例作为文件。

    【讨论】:

    • 是的,测试页适合我。我的代码在 chart1.render() 上爆炸,而不是在工具提示代码上。我会尝试缩小范围,看看有什么区别。我会尽快报告。
    • 有关问题的详细信息,请参阅我上面的帖子。
    【解决方案2】:

    发现问题..这似乎是一个错误,但不是 100% 确定...这里是如何使用重新创建它 Dojo Nightly Charting Tests 代码和 dojo 版本 1.5.0(任何网络浏览器):

    注意:添加系列以绘制“其他”并调用chart1.render()时会出现此错误;不止一次。如果chart1.render();只调用一次,没有错误,一切正常。请参阅“B 系列”的 addSeries ...从“B 系列”中删除 plot:“other”,即使 chart1.render() 被调用两次,一切正常。也可以通过从“默认”addPlot 中删除“markers: true”并调用 char1.render(); 来重新创建此问题。两次。

    警告:以下代码部分中的 HTML 未 100% 正确显示,但所有 javascript 代码都存在以便轻松重现此问题。

    Eugene:感谢您提供指向测试页面的链接,这很有帮助。另外,我应该就此提交错误报告吗?

    事件 2D @import "dojo-release-1.5.0/dojo/resources/dojo.css"; @import "dojo-release-1.5.0/dijit/tests/css/dijitTests.css"; .dojoxLegendNode {border: 1px solid #ccc;边距:5px 10px 5px 10px;填充:3px} .dojoxLegendText {垂直对齐:文本顶部;填充右:10px} dojo.require("dojox.charting.Chart2D"); dojo.require("dojox.charting.themes.PlotKit.green"); dojo.require("dojox.charting.action2d.Highlight"); dojo.require("dojox.charting.action2d.Magnify"); dojo.require("dojox.charting.action2d.MoveSlice"); dojo.require("dojox.charting.action2d.Shake"); dojo.require("dojox.charting.action2d.Tooltip"); dojo.require("dojox.charting.widget.Legend"); dojo.require("dojo.colors"); dojo.require("dojo.fx.easing"); var dc = dojox.charting; var 杜尔 = 450; 变量图表1; makeObjects = 函数(){ chart1 = new dc.Chart2D("test1"); //chart1.setTheme(dc.themes.PlotKit.green); chart1.addPlot("default", {type: "Default", lines: true, markers: true,tension:2}); chart1.addPlot("其他", {type: "Lines", hAxis:“其他 x”, vAxis:“其他y” }); chart1.addPlot("grid", {type: "Grid", hMajorLines:真, hMinorLines:假, vMajorLines:真, vMinorLines:假 }); chart1.addAxis("x", {min: 0, max: 6, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}}); chart1.addAxis("y", {vertical: true, min: 0, max: 10, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}}) ; chart1.addAxis("other x", {leftBottom: false, min: 0, max: 6, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length: 3}} ); chart1.addAxis("other y", {leftBottom: false, vertical: true, min: 0, max: 10, majorTick: {stroke: "black", length: 3}, minorTick: {stroke: "gray", length : 3}}); chart1.addSeries("系列 A", [{x: 0.5, y: 5}, {x: 1.5, y: 1.5}, {x: 2, y: 9}, {x: 5, y: 0.3}] ); chart1.addSeries("系列 B", [{x: 0.3, y: 8}, {x: 4, y: 6, tooltip: "自定义工具提示"}, {x: 5.5, y: 2}], {plot : “其他”}); var anim1a = new dc.action2d.Magnify(chart1, "default"); var anim1b = new dc.action2d.Tooltip(chart1, "default"); chart1.render(); chart1.render(); var legend1 = new dojox.charting.widget.Legend({chart: chart1, Horizo​​ntal: false}, "legend1"); }; dojo.addOnLoad(makeObjects);

    事件 2D

    去-->

    将鼠标悬停在标记、条形、列、切片等上。

    1:标记、线条、2D 数据、自定义轴。操作:放大、工具提示。

    就是这样!

    【讨论】:

    • 我认为你应该这样做。至少您可以将完整的 HTML 文件附加到错误报告中。
    猜你喜欢
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多