【问题标题】:Angular - Wait for ngFor to update DOMAngular - 等待 ngFor 更新 DOM
【发布时间】:2019-11-26 10:15:36
【问题描述】:

使用 Angular 7:

我正在使用 ngFor 将对象数组绑定到表中的行。推送新行后,我需要立即调用另一个函数,该函数需要渲染新行,但渲染过程(我假设)与我的代码异步,因此下一个函数执行并且找不到新行。

如何等待 Angular 完成更新?

【问题讨论】:

  • 请贴一些代码sn-p。
  • 分享一些代码!到目前为止你做了什么?
  • 提出问题时,如果您提供他们易于理解并用于重现问题的代码,人们将能够更好地提供帮助。 minimal reproducible example
  • 您是否尝试过使用setTimeout(0) hack?只需将您的函数(插入行后需要调用的函数)包装在 setTimeout(0) 中,看看是否有帮助。
  • @NicolaeOlariu 它有效!那么这是 Angular 的一个相当标准的做法吗?我原以为这将是一个相当普遍的问题。如果您将评论作为答案发布,我会将其标记为解决方案。谢谢。

标签: angular ngfor


【解决方案1】:

请将您的函数包装在 setTimeout(fnHere, 0) 表达式中。这样做,浏览器会在稍作喘息时立即执行您的 fn(在完成渲染后立即执行 - 您的代码将排队,直到浏览器的引擎清空当前调用堆栈)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 2019-08-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 2016-06-02
    • 1970-01-01
    相关资源
    最近更新 更多