使用angularjs在数据库中的数据更改时自动刷新视图的数据

时间:2017-07-27 16:36:20

标签: angularjs

当数据库中的数据发生变化时,是否可以使用angularJs自动刷新视图数据?请帮我怎么做 我创建了这个脚本,但正如您所看到的那样,只有在触发viewData()时才会刷新数据。

$scope.viewData = function(){
    $http.get("sample.php").then(function(response){
        $scope.mine = response.data;
    });
}

我想在twitter中创建类似时间轴的页面,可以在不刷新页面的情况下加载新推文。谢谢

1 个答案:

答案 0 :(得分:0)

你可以从Angular那边做这样的longpolling:

setInterval($scope.vievData, 1000);

由于Angular不会监控setInterval,因此您必须在$scope.viewData

中添加以下行
$scope.$$phase || $scope.$digest();
$scope.mine=...

之后立即

无论DB有什么变化,这都会每秒刷新$scope.mine,这有点粗糙。要在数据库中更改值时执行此操作,您可能必须使用WebSockets,但前端和后端都要复杂一些。