Highcharts:无法读取属性';父组';用AngularJS表示未定义的
我正在用highChart和angularJS做图表。 我明白这一点 这是我的密码:Highcharts:无法读取属性';父组';用AngularJS表示未定义的,angularjs,html,highcharts,Angularjs,Html,Highcharts,我正在用highChart和angularJS做图表。 我明白这一点 这是我的密码: AngularJS: app.directive('hcPieChart', function () { return { restrict: 'E', template: '<div></div>', scope: { title: '@', data: '=' }, link: function (scope
- AngularJS:
app.directive('hcPieChart', function () { return { restrict: 'E', template: '<div></div>', scope: { title: '@', data: '=' }, link: function (scope, element) { Highcharts.chart(element[0], { chart: { type: 'pie' }, title: { text: scope.title }, plotOptions: { pie: { allowPointSelect: true, cursor: 'pointer', dataLabels: { enabled: true, format: '<b>{point.name}</b>: {point.percentage:.2f} %' } } }, series: [{ data: scope.data }] }); } }; }); app.controller('ChartsController', function ($scope) { var ids =location.search; $scope.Stats=function(){ $http.get(url+"/Stats"+ids) .success(function(data){ $scope.Stat = data; }).error(function(err,data){ console.log("error:" +data); }); }; $scope.Stats(); /*$scope.Stat = [{ "Validate":17.456789, "NotValidate":2.96296, "Nb_V":2.96296, "Nb_Not_v":2.96296 }]; */ // Sample data for pie chart $scope.pieData = [{ name: 'CheckLists Socred', y: $scope.Stat[0].Validate, color: '#00c853' },{ name: 'CheckLists Not Socred', y: $scope.Stat[0].NotValidate, color: '#b71c1c' }]; });
app.directive('hcPieChart',函数(){ 返回{ 限制:'E', 模板:“”, 范围:{ 标题:“@”, 数据:'=' }, 链接:功能(范围、元素){ Highcharts.chart(元素[0]{ 图表:{ 键入:“馅饼” }, 标题:{ 文本:scope.title }, 打印选项:{ 馅饼:{ allowPointSelect:true, 光标:“指针”, 数据标签:{ 启用:对, 格式:'{point.name}:{point.percentage:.2f}%' } } }, 系列:[{ 数据:scope.data }] }); } }; }); app.controller('ChartsController',函数($scope){ var id=location.search; $scope.Stats=function(){ $http.get(url+“/Stats”+ids) .成功(功能(数据){ $scope.Stat=数据; }).错误(函数(错误、数据){ console.log(“错误:+数据”); }); }; $scope.Stats(); /*$scope.Stat=[{ “验证”:17.456789, “未验证”:2.96296, “Nb_V”:2.96296, “Nb_Not_v”:2.96296 }]; */ //饼图的示例数据 $scope.pieData=[{ 名称:'检查表Socred', y:$scope.Stat[0]。验证, 颜色:“#00c853” },{ 名称:'检查表不符合要求', y:$scope.Stat[0]。NotValidate, 颜色:“#b71c1c” }]; });
- HTML代码:
饼图占位符
这张图表是什么
从图表海报中,我发现以下问题:
未捕获的TypeError:无法读取未定义的属性“parentGroup”
在k.setState(App/Template/highcharts/highcharts.js:392:112)
在App/Template/highcharts/highcharts.js:207:54
at Array.forEach(本机)
在a.each(App/Template/highcharts/highcharts.js:27:360)
在a.Pointer.runPointActions(App/Template/highcharts/highcharts.js:207:32)
在k.onMouseOver(App/Template/highcharts/highcharts.js:389:130)
在SVGGElement.c(App/Template/highcharts/highcharts.js:380:323)
感谢您帮助我,根据
$scope.Stat
数组对象,您可以作为$scope.Stat[0]访问每个对象。验证
我也有同样的问题,没有一个答案能帮我解决。几个小时后,我发现我发送给highchart组件作为图表数据馈送的数组导致了问题。
关键是,y轴记录必须命名为“y”,而不是任何其他任意名称
我的数据过去是这样的:
data = [{name: "n1", income: 1491},
{name: "n2", income: 103103},
{name: "n3", income: 126886},
{name: "n4", income: 88}]
当我把它改成:
data = [{name: "n1", y: 1491},
{name: "n2", y: 103103},
{name: "n3", y: 126886},
{name: "n4", y: 88}]
问题已解决。您能在JSFIDLE示例中重现它吗?(您可以从以下内容开始:)我安装了JSFIDLE,但没有工作,请在您使其工作时告诉我。或者你可以使用其他工具,比如“掠夺”等,我认为这不是工具问题。但是在你的script.js是空的代码中有一个问题。。。您的html标记也有问题。谢谢您的回复@,我尝试过这样做,但它返回了此错误消息无法读取未定义的属性“resConforme”
我在上面的plunker中找不到,请您详细说明错误$Scope.Stat
它的内容是从angularJS中的另一个函数填充的。如何生成全局变量?我更新了帖子@deep您可以在$scope.Stats()
之后使用控制台、日志($scope.Stat)
进行检查并查找错误吗?它显示它的[object object]
data = [{name: "n1", income: 1491},
{name: "n2", income: 103103},
{name: "n3", income: 126886},
{name: "n4", income: 88}]
data = [{name: "n1", y: 1491},
{name: "n2", y: 103103},
{name: "n3", y: 126886},
{name: "n4", y: 88}]