我試圖獲取從我的櫃檯服務內的API值,然後在我的控制器內部的計數器遞增:角JS:增加一個計數器的服務從控制器
服務
angular.module('app')
.factory('MyService', MyService)
function MyService($http) {
var url = 'URL;
return {
fetchTotal: function(p) {
return $http.get(url, { params: p })
.then(function(response) {
var total = response.data.meta.total;
return total;
}, function(error) {
console.log("error occured");
})
},
incrementCounter: function(){
total++;
}
}
}
控制器
app.controller('Controller1', function ($scope, MyService) {
var params = {
...
}
MyService.fetchTotal(params).then(function(response) {
$scope.counter = response;
});
$scope.incrementCounter = function(){
MyService.incrementCounter();
}
});
視圖
<div ng-controller="Controller1">
{{ counter }}
<span ng-click="incrementCounter()">increment</span>
</div>
我無法工作,如何對總我從API回來了,還ng-click
增量。這可能嗎?
任何幫助表示讚賞。提前致謝!
'$ scope.counter + = response'或'$ scope.counter ++ '不使用響應可能會工作 –
我需要計數器在服務中更新,因爲'total'由兩個不同的控制器使用,並且我使用服務來保持它們同步。 – realph
將'var total = 0'移動到'var url =' –