我的html文件中的脚本有问题。问题是关于通过jQuery更新变量,然后从中创建一个图表。
我正在使用angular创建图表,因此不可能将它放入不同的jQuery中。
部分代码:
var chartData = [];
$.getJSON('../json/testData.json', function (json) {
for (var i=0; i < json.length; i++){
var j = json[i].Value;
chartData.push(j);
}
});
angular.module("app", ["chart.js"]).controller("BarCtrl", function ($scope) {
$scope.labels = ['2006', '2007', '2008', '2009', '2010', '2011', '2012'];
$scope.series = ['Series A', 'Series B'];
$scope.data = [
[65, 59, 80, 81, 56, 55, 40],
[28, 48, 40, 19, 86, 27, 90],
chartData
];
});
我想要实现的目标:从JSON获取数据,更新chartData,将更新的变量放入图表中。
现在如何运作? - &GT;它做了所有事情,然后是jQuery,所以我在图表中有空数组。
我的研究: 我试图操纵变量和jQuery的范围。结果仍然相同。 当我将所有内容都放入函数中时,角度不起作用。
以下帖子的解决方案:
angular.module("app", ["chart.js"]).controller("BarCtrl", function ($scope, $http) {
$http.get('../json/testData.json').then(function (response) {
for (var i = 0; i < response.data.length; i++) {
var j = response.data[i].Value;
jsondata.push(j);
}
});
答案 0 :(得分:1)
为什么不在控制器中使用$http
服务来获取数据然后将其放在范围内:
angular.module("app", ["chart.js"]).controller("BarCtrl", function ($scope, $http) {
$scope.data = [];
$http.get('../json/testData.json').then(function (response) {
for (var i = 0; i < response.data.length; i++) {
var j = response.data[i].Value;
chartData.push(j);
}
});
});