如何在检查周期结束后在Angular 2+中运行代码?
目前我们正在使用setTimeout
,时间为1来实现此目的。难道没有更可读的方法吗?
我们当前的代码如下所示:
doSomething();
window.setTimeout(() => doSomethingAfterACheckCycle(), 1);
我也知道afterViewChecked,但这是一个组件的集中功能,我需要很多标志来跟踪周期。是不是有内联方式呢?我只对setTimeout 1的表示法有问题,它使代码对于初级开发人员来说感到困惑。
我们也可以创建一个服务调用,在内部使用setTimout,我只想知道是否已经在Angular中实现了这一点。
链接而不是嵌套也很好,例如:
nextCheck(() => soSomething()).nextCheck(() => doSomethingElse());
我们有几个场景需要这个,但是一个例子: 我们将模型状态绑定到选项卡的活动/禁用状态。但我们也根据网址设置了选中的标签。问题是更改选项卡的模型以使其变为活动状态并选择它,在同一个更改周期中不起作用。我们必须更改模型,在下一个更改周期中启用选项卡,然后我们设置为选中。这里的另一个技巧是手动启用标签与绑定(绑定?)变量无关,因此它可以在相同的更改周期中工作。