【发布时间】:2017-01-15 18:01:35
【问题描述】:
我有以下功能的服务:
(function(){
angular.module('app.system')
.factory('Poller', function($http, $timeout) {
var data = {
eventObj: null,
spinner:false
};
var poller = function() {
$http.get('php file').then(function(r) {
var ev = r.data;
if(ev.length > 0)
{
data.eventObj = ev;
data.spinner = true;
if(ev.image != null && ev.image != "")
{
data.eventObj = ev;
}
}
else {
data.spinner = false;
}
$timeout(poller, 1000);
});
};
poller();
return {
data :data,
};
})()
这是我的工厂。在控制器中,我执行以下操作:
1 $scope.dataPoller = Poller.data;
2 var vm = this;
3 vm.event = Poller.data.event;
4 vm.spinner = Poller.data.spinner;
也在控制器的顶部:
.run(function(Poller) {});
第 1 行 - 我看到用户界面每 500 毫秒更改一次 但第 2-4 行根本不更新 - 仅在开始时,例如 vm.event 在第 1 行始终为空购买它没有
我该如何解决?
我需要更新控制器或其他服务中的数据并返回控制器并更新视图,轮询器当然需要每 500 毫秒发送一次新数据
【问题讨论】:
-
请出示您的完整服务代码。
-
@AniketSinha 问题已更新
标签: angularjs controller factory