我试图获取从我的柜台服务内的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 =' –