0
我是AngularJS和d3的新手。我用過這個例子:http://embed.plnkr.co/6t5bky/ 並試圖創建一個'bulletChart'。AngularJS與nvD3服務不返回值
我的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)在精確相同的格式返回數據:
我到底做錯了什麼?任何指針?
嘗試在您的服務成功回調中將$ scope.data設置爲'$ scope.data = response.data' –
不會$ http.get返回承諾?如果是的話,populatedata返回未解決的承諾,但不是來自請求 – StackOverMySoul
的數據相信問題是'返回$ http',因爲'$ http'返回承諾。嘗試刪除返回和/或將響應數據綁定到'$ scope'變量'.then(function(response){$ scope.someVariable = angular.copy(response.data);});' –