大佬教程收集整理的这篇文章主要介绍了AngularJS轮询服务不会持续更新控制器,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这是我有的:
cadApp.controller('statsController',function ($scope,DashboardStats) { $scope.data = DashboardStats.data.response; console.log(JSON.Stringify(DashboardStats.data.responsE)); }); cadApp.run(function (DashboardStats) { }); cadApp.factory('DashboardStats',function ($http,$timeout) { $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; var data = { response: {},calls: 0 }; var url = "Ajax/CADAjax.aspx"; var params = { "Command": "GetDashboardStats" }; var poller = function () { $http.post(url,Object.toparams(params)) .then(function (responseData) { data.response = responseData.data[0]; // This is working console.log(JSON.Stringify(responseData.data[0])); data.calls++; $timeout(poller,10000); }); }; poller(); return { data: data }; });
UI永远不会使用轮询服务返回的当前对象进行更新.我的猜测是服务中的return语句不正确.它只返回在服务顶部声明的大多数空对象.
cadApp.controller('statsController',$timeout,DashboardStats) { pollData(); function pollData() { DashboardStats.poll().then(function(data) { $scope.data = data; $timeout(pollData,10000); }); } }); cadApp.factory('DashboardStats',$timeout) { $http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded"; var url = "Ajax/CADAjax.aspx"; var params = { "Command": "GetDashboardStats" }; var data = { response: { },calls: 0 }; var poller = function () { return $http.post(url,Object.toparams(params)).then(function (responseData) { data.calls++; data.response = responseData.data[0]; return data; }); }; return { poll: poller } });
以上是大佬教程为你收集整理的AngularJS轮询服务不会持续更新控制器全部内容,希望文章能够帮你解决AngularJS轮询服务不会持续更新控制器所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。