我花了最後4個小時試圖使這個工作。我對angular.js,jquery,highcharts和所有這些東西都很陌生,我找不到解決這個問題的方法。使用angular.js創建一個高圖表
我想要做的是在div中創建一個高圖。圖形的json來自後端的正確方式,因此不需要對json進行任何更改。
所以,我做了以下內容:
首先,在html:
<div ng-controller="ChartController">
<div class="chart-container" id="chartContainer"></div>
</div>
而且爲了收集數據,我做了以下內容:
var termomether = angular.module('termomether', [ 'ngResource' ]);
termomether.factory('Chart', function($resource) {
return $resource('/app/api/chart', {}, {
query : {
method : 'GET',
params : {},
isArray : true
}
});
});
termomether.controller('ChartController', function($scope, Chart) {
$('#chartContainer').highcharts(Chart.query())
});
其結果是圖形顯示,但是爲空。它具有我期望的大小,但沒有數據,它顯示一個空的白色框。
如果在這一刻你認爲問題出在json上,這可能會讓你覺得不同。如果我更改了以下形式的控制器,圖形完美呈現:
var termomether = angular.module('termomether', [ 'ngResource' ]);
termomether.controller('ChartController', function($scope, $http) {
$http.get('api/chart').success(function(items) {
$(function() {
$('#chartContainer').highcharts(items)
});
});
});
所以......我不知道爲什麼它沒有在使用工廠和資源控制器工作
請看看相關主題http://stackoverflow.com/questions/15904739/rendering-highcharts-using-angular-js-directives –