Я новичок в Angularjs
и поэтому хотел бы спросить вас, есть ли лучший способ решить мою проблему.
Мне нужно обновить, например, каждые 30 секунд содержимое <div>
с помощью вызова ajax.
HTML
<div>
<div>{{test.value}}</div>
</div>
Моя идея использования $interval
на service
следующим образом:
.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);
}
});
и позвонить в службу из controller
так:
.controller('displayCtrl', function($scope, config, eedisplayService){
var url = "myUrl";
$scope.test = {value : "" };
eedisplayService.getData(url, $scope.test);
});
Является ли это полный подход AngularJs? Код работает, но является хорошим выбором вызвать услугу с $interval
от контроллера? Не лучше назвать его от config
например?
Я проверил множество примеров, но я не совсем понимаю, что это лучший способ сделать это.
Большое спасибо.
С уважением
Большое спасибо за ответ! – Giordano