我设法获得后端功能的持续轮询使用 this answer.
但是在每次超时时,UI都会闪烁(短时间内为空模型)。 如何在新数据到达后更新模型(和视图) 为了避免这种闪烁效应?
这是我当前的控制器(稍微修改自step_11 (Angular.js Tutorial)):
function MyPollingCtrl($scope, $routeParams, $timeout, Model) {
(function tick() {
$scope.line = Model.get({
modelId : $routeParams.modelId
}, function(model) {
$timeout(tick, 2000);
});
})();
}
//编辑:我正在使用当前稳定的Angular.js 1.0.6
答案 0 :(得分:10)
尝试更新成功回调中的数据。像这样:
(function tick() {
Model.get({
modelId : $routeParams.modelId
}, function(model) {
$scope.line = model;
$timeout(tick, 2000);
});
})();
当模型resource正在获取数据时,这应该可以防止$scope.line
为空时发生的闪烁。