我是AngularJS和d3的新手。我使用过这个例子:http://embed.plnkr.co/6t5bky/ 并试图创建一个'bulletChart'。
我的javascript文件如下所示:
var app = angular.module('plunker', ['nvd3']);
app.controller('MainCtrl', function($scope, $http) {
$scope.options = {
chart: {
type: 'bulletChart',
transitionDuration: 500,
}
};
$scope.data = populateData();
function populateData(){
/*return {
"title": "Test Title",
"subtitle": "Completed",
"ranges": [200,400,700],
"measures": [600],
"markers": [300]
}*/
return $http.get('http://myservice/data').then(function(response) {
console.log('response-dataNew',response.data);
return response;
;})
}
});
当我返回值(在代码中注释)时,它可以工作。
return {
"title": "Test Title",
"subtitle": "Completed",
"ranges": [200,400,700],
"measures": [600],
"markers": [300]
}
我看到bulletGraph:
当我尝试使用该服务时,它没有给我任何图表。我的服务(http://myservice/data)以完全相同的格式返回数据:
我在这里做错了什么?有什么指针吗?
答案 0 :(得分:0)
根据所有评论,这个解决方案对我有用。
var app = angular.module('plunker', ['nvd3']);
app.controller('MainCtrl', function($scope, $http) {
$scope.options = {
chart: {
type: 'bulletChart',
transitionDuration: 500,
}
};
$scope.data = populateData();
function populateData(){
$http.get('http://10.20.26.90:5003/bullet').then(function(response) {
console.log('response-dataFound',response.data);
$scope.data = angular.copy(response.data);
;})
}
});
如果您想到更好的方法,请告诉我。