Angular,更新视图长计算
Angular, update view long calculations
我在尝试使用 Angular 4.
实现微调器时遇到问题
我有一个复杂的应用程序,它运行复杂而耗时的计算。在 运行 我想显示微调器的计算之前。为了做到这一点:
- 我将变量设置为 "true" 以显示微调器
- 我做复杂的计算
- 我将变量设置回 "false" 以隐藏微调器
问题是微调器不会显示。
在下面的例子中,为了方便理解,我伪造了复杂的方法。
https://stackblitz.com/edit/angular-eqo9cl
谁能知道如何解决这个问题?
似乎在启动计算之前无法刷新视图。我们还可以看到 "val" 变量在计算完成之前不会在视图中更新。
感谢阅读:)
为了让浏览器有机会在计算开始之前更新视图,您可以 运行 它们与 setTimeout
异步。有关演示,请参阅 this stackblitz。
doWork() {
this.spinner = true;
setTimeout(() => {
this.performCalculations();
this.spinner = false;
}, 50);
}
我在尝试使用 Angular 4.
实现微调器时遇到问题我有一个复杂的应用程序,它运行复杂而耗时的计算。在 运行 我想显示微调器的计算之前。为了做到这一点:
- 我将变量设置为 "true" 以显示微调器
- 我做复杂的计算
- 我将变量设置回 "false" 以隐藏微调器
问题是微调器不会显示。
在下面的例子中,为了方便理解,我伪造了复杂的方法。
https://stackblitz.com/edit/angular-eqo9cl
谁能知道如何解决这个问题?
似乎在启动计算之前无法刷新视图。我们还可以看到 "val" 变量在计算完成之前不会在视图中更新。
感谢阅读:)
为了让浏览器有机会在计算开始之前更新视图,您可以 运行 它们与 setTimeout
异步。有关演示,请参阅 this stackblitz。
doWork() {
this.spinner = true;
setTimeout(() => {
this.performCalculations();
this.spinner = false;
}, 50);
}