javascript - 优先考虑 jQuery 在脚本之前

标签 javascript jquery angularjs

我的 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 获取数据,更新图表数据,将更新后的变量放入图表中。

目前效果如何? -> 它做了所有事情,然后是 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);
            }
        });

最佳答案

为什么不在 Controller 内使用 $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);
        }
    });
});

关于javascript - 优先考虑 jQuery 在脚本之前,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39878310/

相关文章:

javascript - Highcharts:点击时显示条形图的一部分

javascript - keydown - 循环访问每个按下的键的对象

javascript - PHP jQuery 在页面加载时转到 div

javascript - 实际 IE6 Png 修复

javascript - 如何告诉 javascript x.value = $ ('‪#‎selectID‬ option:selected' ).text(); 'selectID' 不是 ID 的名称,而是一个变量

javascript - Angular 提供者服务需要 init 函数运行一次

html - ng-show/ng-hide 在 safari 中导致元素宽度为 0,高度为 0

javascript - 将 Bootstrap 工具提示与 SVG 对象一起使用 - 尽管指定了容器但不显示

javascript - 在 Javascript 中删除子 div

javascript - Href 在 Angularjs 中覆盖父 ng-click