我对使用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();
答案 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会告诉您这在实践中是如何运作的。