所以,我有javascript文件(一种库,仍在使用它)'linechart.js',它包含一个对象,该对象又包含一个函数,该函数将一些数据作为输入并使用D3生成折线图。这是代码:
linechart.js
var lineobj = {
plotFunc : function(data) {
//generate line chart using the data argument
}
}
传递给上述对象的数据实际上是在angularjs控制器中生成的,如下所示:
index.controller.js:
app.controller('MainCtrl', ['$scope', function($scope) {
$scope.generateData = function(){
//generate data for the line chart
}
}])
现在,我面临的问题是接近问题。
1。将数据传递到linechart.js的最佳方法是什么,以便生成线图。
2. 我应该使用指令并调用函数'plotFunc'来生成折线图吗?如果是这样,我该如何调用该函数?
3。我应该在控制器本身中调用该功能吗?如果是这样,又如何调用该函数?
4. 还有其他更好的方法,我没有提到过吗?
答案 0 :(得分:1)
最好的办法实际上是生成一个包装D3的服务,要求在你的控制器中然后你可以调用这些方法。有一些很好的图表库已经包装了像nvd3一样的D3,否则请看一下这个链接,它解释了如何用Angular.js包装D3很好