Angularjs 从另一个函数获取数据以角度显示海图
我正在尝试在我的角度应用程序中显示高度图表 下面是我的get_chart函数,它从另一个函数获取数据Angularjs 从另一个函数获取数据以角度显示海图,angularjs,highcharts,Angularjs,Highcharts,我正在尝试在我的角度应用程序中显示高度图表 下面是我的get_chart函数,它从另一个函数获取数据 function get_chart(data) { alert('hello..' + data); return { xAxis: { categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov'
function get_chart(data) {
alert('hello..' + data);
return {
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
chart: {
height: 300,
width: 500,
type: 'column'
},
credits: {
enabled: false
},
plotOptions: {
series: {
cursor: 'pointer',
point: {
events: {
click: function() {
console.log ('Category: '+ this.category +', value: '+ this.y);
}
}
}
}
},
series: [{
data: [ data ]
}]
};
}
然后我尝试从
$scope.renderChart = function(measurement){
$scope.showChart = false;
restApp.getMeasurementForCompID(comp.id, measurement.id).then(function(data){
console.log('getMeasurementForCompID data ');
console.log(data);
data = [10, 20];
$scope.example_chart = get_chart(data);
console.log($scope.example_chart);
$scope.showChart = true;
});
}
HTML
Highcharts指令
myapp.directive('highchart', function () {
return {
restrict: 'E',
template: '<div></div>',
replace: true,
link: function (scope, element, attrs) {
scope.$watch(function() { return attrs.chart; }, function() {
if(!attrs.chart) return;
var chart = scope.example_chart;
console.log('loading chart');
console.log(chart);
element.highcharts(chart);
});
}
}
});
myapp.directive('highchart',function(){
返回{
限制:'E',
模板:“”,
替换:正确,
链接:函数(范围、元素、属性){
作用域.$watch(函数(){return attrs.chart;},函数(){
如果(!属性图表)返回;
var图表=范围。示例\u图表;
控制台日志(“加载图表”);
控制台日志(图表);
要素。高图(图表);
});
}
}
});
控制台
但我无法显示值为10,20的图表。
这里可能有什么问题
谢谢我通过以下步骤解决了我的问题
<div>
<highchart ng-if="showChart" id="dash-chart" chart='example_chart'></highchart>
</div>
谢谢你你在哪里初始化图表?类似于
新建Highcharts.Chart()
或$(“容器”).Highcharts()
?是的,我是第一次使用Highcharts,请参阅我的更新问题我为Highcharts编写了指令,您的图表显示了什么?尝试将:data:[data]
更改为data:data
。我这样做了,但没有用,我的图表根本不显示,控制台中是否有任何错误?您是否在控制台中看到“加载图表”?
<div>
<highchart ng-if="showChart" id="dash-chart" chart='example_chart'></highchart>
</div>