1
我使用angular chart來填充餅圖。爲了填充圖表,我需要撥打服務中的$http.get()
電話並從控制器調用服務方法。但是,如果我撥打$http
,該圖表不起作用。
angular.module('shopAdminApp')
.service('ChartService', ['$http',ChartService])
function ChartService($http) {
this.GetAllChartData = function (month, year) {
return $http.get('GetMonthlyStatistics?month=' + month + '&&year=' + year + '');
}
}
angular.module('shopAdminApp')
.controller('chartCtrl', ["ChartService", ChartCtrl]);
function ChartCtrl(ChartService) {
// this.labels = ["Download Sales", "In-Store Sales", "Mail-Order Sales"];
// this.data = [10, 20, 100];
var promise = ChartService.GetAllChartData(12, 2012);
promise.then(function (response) {
console.log(response.data);
this.chartsdata = response.data;
this.labels = response.data.BranchNames;
this.data = response.data.BranchMonthlyTotalSales;
});
// console.log(this.chartsdata);
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<canvas id="pie1" class="chart chart-pie" data="chart.data" labels="chart.labels" height="300" width="400"></canvas>
如果我取消註釋評論部分,餅圖工作正常,但我需要$http
調用來填充值。我怎樣才能做到這一點?
但你有'GetMonthlyStatistics?month ='這不是一個網址... –
它是一個URL,因爲我使用.net mvc與角度js ..和response.data.BranchNames返回我評論的確切數組對於標籤和response.data.BranchMonthlyTotalSale返回我爲數據評論的確切值。我看到它使用console.log。所以沒有問題。 – jubair
你確定服務器的響應正常嗎?爲什麼你不使用拒絕處理函數作爲你承諾的'then'上的第二個參數函數? –