gpt4 book ai didi

javascript - Angularjs - 摘要循环/重绘计时

转载 作者:行者123 更新时间:2023-11-28 15:54:02 26 4
gpt4 key购买 nike

AngularJS 有一个小问题。请参阅以下内容:

$http({method: 'GET', url: 'some/url/withJSON.json'})
.success(function(data)
{
$scope.data = data
$animations._load('arg1')
})

$animations 是一个注册服务,可以做一些事情。有时(可能是 20%),_load() 方法会在窗口绘制/摘要循环完成之前运行,这意味着可视化尚未完成。通过用 10ms 的 setTimeout() 包装 _load() ,这已经解决了这个问题,但是 AngularJS 中是否有隐式/显式的方法来在摘要循环完成后执行回调?

最佳答案

如果没有更多信息,我建议 $timeout(fn)将是做到这一点的最佳方式。它基本上确保 Angular 完成浏览器渲染处理后有一个中断。大致相当于 setTimeout(fn, 0),这也是您已经建议的,但它可以模拟测试。

还有$scope.$evalAsync(fn)通常会在当前摘要周期之后、DOM 渲染之前渲染。我倾向于使用 $evalAsync 因为它让我更容易推理事情,并且不会允许同时发生其他非 Angular 事件,但这取决于哪种方法适合您。

这个answer有关这两种方法的更多详细信息。

关于javascript - Angularjs - 摘要循环/重绘计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19480646/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com