使用AngularJS实时更新视图

时间:2017-09-06 17:08:51

标签: angularjs

我对使用AngularJS的实时更新视图有疑问。我想添加评论和直播视图没有重新加载页面。现在我正在使用$route.reload()这是一个很好的解决方案吗?第二个解决方案是添加注释后的fire函数,下面的函数运行良好,但总是在添加注释视图后滚动到底部。您对实时更新视图有什么建议吗?评论正在从mongodb

加载
userFactory.readMoreCourse = function(id) {
    return $http.get('/api/product/' + id) 
}

function getComment() {
    User.readMoreCourse($routeParams.id).then(function(data){
        app.comment = data.data.product.comments 
    });
}    
getComment();

1 个答案:

答案 0 :(得分:0)

你应该使用Angular提供的 $ interval

这将允许您设置触发功能的特定时间(如图所示为5秒)。

然后,您希望将数据推送到对象中,以便视图自动更新而无需刷新等。

app.controller('myController', function($scope, $interval) {
  var id = $routeParams.id;

  $scope.app = {
    comment: []
  };

  $scope.getComment = function() {
    User.readMoreCourse(id).then(function(response) {
      // Single result.
      $scope.app.comment.push(response.data);

      // Multiple results.
      angular.forEach(response.data, function(value, key) {
        $scope.app.comment.push(value);
      });
    });
  };

  $interval($scope.getComment, 5000);
});

example会告诉您这在实践中是如何运作的。