我正在使用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);
}
我也尝试过:
我目前正在使用子/ pub机制在控制器和服务之间传递数据。
我在控制器中调用之后立即设置了console.log()以显示何时使用新数据更新,控制器快速更新,但我的ui在之后大约2秒钟内没有得到更改。 / p>
有什么想法吗?
答案 0 :(得分:0)
是的,您可以强制Angular重绘"现在"致电controller.$apply()
。在你的代码中我相信它会是:
this.timeout(():void=> {
this.scope.list.myList = [];
this.scope.list.myList = data.data;
this.scope.$apply();
});