jquery - AngularJS + jQuery Flot + 使用 http.get 从 Controller 加载数据

标签 jquery angularjs flot

我已经设置了一个指令来处理使用 AngularJS 加载 jQuery Flot 图表:

var Dashboard = angular.module('StatsDashboard', []);

Dashboard.directive('chart', function() {
    return {
        restrict: 'E',
        template: '<div></div>',
        replace: true,
        link: function(scope, elem, attrs) {
            var chart = null;
            var data = scope[attrs.ngModel];
            var options = {}

            $.plot(elem, data, options);
            elem.show();
            }
        };
});

该指令从 Controller 加载:

function ChartCtrl($scope, $http)
{
    $http.get('controllers/weekly_overview_charts.php').success(function(data) {
        $scope.reg_vs_act = data;
        });
}

我收到一个“TypeError:无法读取未定义的属性“长度” 在parseData”。

这肯定是由于 http 函数的异步性质造成的。

我的问题是,如何确保在指令尝试加载流程图之前返回数据?

谢谢!

最佳答案

以及我自己的问题的答案:

scope.$watch(attrs.ngModel, function(v){
    if(v)
    {
        chart = $.plot(elem, v, options);
        elem.show();
    }
});

这是触发范围。$注意:

var data = scope[attrs.ngModel];

在本例中应该只是 attrs.ngModel。

关于jquery - AngularJS + jQuery Flot + 使用 http.get 从 Controller 加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17460669/

相关文章:

jquery - 浮点图 - 外部选择条形图

jquery - 在 JSON API Wordpress 上启用 CORS

javascript - HighChart 在 $.getJSON 之前创建

javascript - 重新编译文档中新加载的正文元素 - Angular

jquery - 在条形内显示值 - jQuery 绘制水平堆积条形图

javascript - Jquery flot插件,隐藏特定标签

javascript - 脚本未运行 jquery .each

jquery - 使用 CSS 在固定位置的响应图像上设置元素

javascript - 具有服务依赖性的 $log 装饰器导致循环依赖错误

Javascript:安排稍后的 HTTP 请求