使用Angular Directive绘制Google Chart而无需手动引导

时间:2015-08-27 14:00:59

标签: angularjs google-visualization

我想写一个指令来绘制谷歌图表,但我想这样做没有使用 Angular-Google-Charts 库或手动启动角即可。由于这将位于Google Apps脚本上,并且图表是网页中较少的元素,因此图表的优先级要低得多。

我希望我可以使用指令中的链接功能来加载谷歌图表库,然后像这样绘制图表:

.directive('barChart', [function () {
  return {
    restrict: 'A', 
    scope: {
        data: '=',
     },
     link: function(data, elm, attrs) {       
        google.load('visualization', '1', {packages:['corechart']});
        google.setOnLoadCallback(drawChart);
        function drawChart() {
          var data = new google.visualization.DataTable();
          data.addColumn('string', 'Topping');
          data.addColumn('number', 'Slices');
          data.addRows([
            ['Mushrooms', 3],
            ['Onions', 1],
            ['Olives', 1],
            ['Zucchini', 1],
            ['Pepperoni', 2]
          ]);
          var options = {'title':'How Much Pizza I Ate Last Night',
                         'width':400,
                         'height':300};
          var chart = new google.visualization.PieChart(elm[0]);
          chart.draw(data, options);
        }
     }
  };
}]);

这种方法是否可行?如果是这样,怎么样?

非常感谢 托比

1 个答案:

答案 0 :(得分:0)

已经为此制定了指令。 https://github.com/angular-google-chart/angular-google-chart/

确保使用master分支,gh-pages分支正在开发并且目前稍微不稳定。