Angular JS News Feed不会自动更新

时间:2013-10-08 07:38:43

标签: javascript angularjs

我正在开发角度JS的新闻Feed页面。每当用户更改应用程序时,应在新闻页面上更新。我正在显示新闻Feed页面中的更改。但是当我刷新页面时它会显示更改的问题。我必须在不刷新页面的情况下显示更改。我正在从http url加载数据。

到目前为止,我试过了 HTML代码:

<div> ng-controller="TopListCtrl"
  <div class="cb-feed-wrapper bradius5" ng-repeat="post in posts">

<h3>{{ post.userId}}</h3>
<p> {{post.change}} </p><p> Created On : {{ post.createdOn }} | Updated On : {{ post.updatedOn }} </p><p Time: {{ post.dateTime }}</p>
</div></div>

控制器代码:

function TopListCtrl($scope, $http, $timeout) {
 $scope.refreshInterval = 1;
$http({
      url: '/zzzz/v1/zzzz/all?callback=JSON_CALLBACK',
      method: "GET"

  }).success(function (data) {
          $scope.posts = data; 

      }).error(function (data) {
       });
$timeout(function() { 
    $scope.refreshInterval * 5;
});

2 个答案:

答案 0 :(得分:5)

您的控制器应如下所示:

function TopListCtrl($scope, $http, $interval) {
  $scope.refreshInterval = 5; // For every 5 sec

  // Create a function as we will reuse this code
  function refresh() {
    $http({
      url: '/lexaserver/v1/audit/all?callback=JSON_CALLBACK',
      method: "GET"

    }).success(function (data) {
      $scope.posts = data; 

    }).error(function (data) {
      console.log('Error');
    });
  }

  refresh(); // We call the function on initialization to load the feed.

  // $interval runs the given function every X millisec (2nd arg)
  $interval(function() { 
    refresh();
  }, $scope.refreshInterval * 1000); // the refresh interval must be in millisec
}

但是我不确定你要用$scope.refreshInterval来实现什么目标。

答案 1 :(得分:0)

如果要再次刷新数据(您没有这样做),您需要在设置的时间间隔内实现一些轮询机制来重复http次调用。在此处查看示例小提琴http://plnkr.co/edit/iMmhXTYweN4IrRrrpvMq?p=preview