jQuery优先于脚本
Prioritize the jQuery before script
我有我的脚本在html文件的问题。问题是关于通过jQuery更新变量,然后从它创建一个图表。
我使用角的图表创建,所以它是不可能把它到不同的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,将更新的变量放入图表中。
它现在是如何工作的?->它做了所有的事情,然后是jQuery,所以我在图表中有一个空数组。
我的研究:我试图操纵变量和jQuery的范围。结果还是一样的。当我把所有东西都放到函数中时,angular就不能工作了。
从下面的帖子解决方案:
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);
}
});
为什么不在控制器内部使用$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);
}
});
});
相关文章:
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 当脚本由system.js加载时,如何要求('electron')
- HTML标记在脚本标记中工作
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 显示时间的脚本
- ng应用程序使脚本无限运行
- 如何在运行时在angular 2中加载外部js脚本
- Google Adsense多次加载脚本
- 如何获取优步登录页面,然后重定向到声明页面使用谷歌应用程序脚本