Amcharts Pie防止缓存

时间:2016-08-10 03:04:40

标签: caching amcharts

似乎Amchart正在缓存json,它不是绘制图形也不是图例。

我第一次打开模态时它显示正常,但如果我关闭它并再次打开它会显示标签中的所有数据(取自相同的JSON),但图表没有被绘制。这是一个缓存问题吗?

这就是我绘制它的方式:

var modelPie = @Html.Raw(jsonPie);
var dataProvider = [];
dataProvider = modelPie.UsefulLifes;


var chartdivdounut = AmCharts.makeChart("chartdivdounut", {
    "type": "pie",
    "startDuration": 0,
    "theme": "light",
    "addClassNames": true,
    "legend": {
        "position": "right",
        "marginRight": 0,
        "autoMargins": false
    },
    "innerRadius": "30%",
    "defs": {
        "filter": [{
            "id": "shadow",
            "width": "200%",
            "height": "200%",
            "feOffset": {
                "result": "offOut",
                "in": "SourceAlpha",
                "dx": 0,
                "dy": 0
            },
            "feGaussianBlur": {
                "result": "blurOut",
                "in": "offOut",
                "stdDeviation": 5
            },
            "feBlend": {
                "in": "SourceGraphic",
                "in2": "blurOut",
                "mode": "normal"
            }
        }]
    },
    "dataProvider": dataProvider,
    "valueField": "Value",
    "titleField": "FieldName",
    "showZeroSlices": false,
    "labelsEnabled": false,
    "export": {
        "enabled": true
    }
});

chartdivdounut.addListener("init", handleInit);

chartdivdounut.addListener("rollOverSlice", function (e) {
    handleRollOver(e);
});

function handleInit() {

    chartdivdounut.legend.addListener("rollOverItem", handleRollOver);
}

function handleRollOver(e) {
    var wedge = e.dataItem.wedge.node;
    wedge.parentNode.appendChild(wedge);
}

在这里输入代码

1 个答案:

答案 0 :(得分:0)

我意识到局部视图中的脚本部分只执行了一次。

似乎搞砸了。我重写了部分代码并开始正常工作。