使用setTimeout()angularjs可以缓慢更新UI
UI updates slowly with setTimeout() angularjs
我正在使用Angularjs并尝试更新我的ui。目前,我正在使用这些方法快速更新ui,但在用新数据更新控制器后,在ui更改之前,我会有2秒的延迟。
$scope.sub("panel.service.updateData", updateEventData.bind(this));
function updateEventData(ngEvent, data) {
var errorMessage = "updateEventData() ";
this.timeout(():void=> {
this.scope.list.myList = [];
this.scope.list.myList = data.data;
});
console.log(errorMessage+data.type);
console.log(this.scope.list.myList);
}
我也试过:
- safeApply()方法将我的控制器中的更改包装为嗯
- 将我的数据包装到另一个对象"列表"中
- 使用$watch()更新控制器
- 用sub/pub更新控制器
我目前正在使用sub/pub机制在控制器和服务之间传递数据。
我在控制器中的调用后立即设置了console.log(),以显示何时用新数据更新,控制器更新得很快,但我的ui在大约2秒钟后不会得到更改。
有什么想法吗?
是的,您可以通过调用controller.$apply()
来强制Angular"立即"重新绘制。在你的代码中,我相信它会是:
this.timeout(():void=> {
this.scope.list.myList = [];
this.scope.list.myList = data.data;
this.scope.$apply();
});
相关文章:
- Javascript循环不会自我更新
- 添加文字和评论功能更新Div
- 对iPad上的点击事件反应缓慢
- AngularJS:ng之后,重复$scope值未按预期更新
- 如何通过数组更新角度子范围
- Ajax聊天消息重复而不仅仅是更新
- 通过CSV文件上载更新数据库表
- 平均值:无法将数据更新到数据库
- $rootScope未使用forEach进行更新
- d3基于用户选择动态更新节点
- 有条件更新d3.js力图中节点的最佳方法
- Angular:更新一次性绑定的数据
- Javascript更新孙窗口中的表单元素
- 使用AngularJS中的筛选器更新给定的表
- Web开发(SpringMVC),浏览器更新缓慢
- ReactJS缓慢,频繁更新到大DOM
- updatepanel在处于非活动状态后更新缓慢
- 使用setTimeout()angularjs可以缓慢更新UI
- React Input Range更新状态缓慢
- 窗口.位置更改后更新缓慢