I'm a beginner in Angularjs
and so I would like ask you if there is a better way for solve my issue.
I need to update, for example, every 30 seconds the content of a <div>
with an ajax call.
HTML
<div>
<div>{{test.value}}</div>
</div>
My idea was use $interval
on a service
as following:
.service('eedisplayService', function($q, $http, $interval){
this.getData = function(url, variable){
$interval(function (){
var deferred = $q.defer();
$http.get(url)
.success(function(data){
if (data){
variable.value = data
} else {
deferred.reject('Wrong response');
}
})
.error(function(){
deferred.reject();
});
return deferred.promise
},30000);
}
});
And call service from controller
like this:
.controller('displayCtrl', function($scope, config, eedisplayService){
var url = "myUrl";
$scope.test = {value : "" };
eedisplayService.getData(url, $scope.test);
});
Is it a fully AngularJs approach? The code works, but is a good choice call a service with an $interval
from controller? Is not better call it from config
for example?
I checked out a lot of examples, but I don't really understand what is the best way to do this.
Thanks so much.
Regards