【问题标题】:How to implement ngFor callback in Angular4?如何在 Angular4 中实现 ngFor 回调?
【发布时间】:2018-01-06 17:51:19
【问题描述】:

我知道关于这一点有几个问题。我有一个表格,对于每一行我都有一个按钮来显示带有模式的行的详细信息,所以当 ngFor 完成渲染它们时,我需要调用一个函数来初始化这些按钮。 这个外部函数将为每个按钮添加监听器“onClick”以打开模式,遗憾的是我无法编辑这个外部函数。

【问题讨论】:

    标签: javascript angular ngfor


    【解决方案1】:

    ngFor 是同步的,因此只要在 ngDoCheck 生命周期期间更新 ngForOf 数组,它就会呈现所有项目。所以你可以安全地在父组件中使用ngAfterViewChecked 来执行你的逻辑。当这个生命周期钩子被触发时,ngFor 已经向 DOM 添加了项目。

    【讨论】:

    • 问题是 ngAfterViewChecked 在任何 viewChecked 之后运行,在 ngFor 的任何循环之后 ngAfterViewChecked 的事件将被引发并且它不能定义为最后一个事件。
    • @MohammadMirzaeyan,抱歉,不清楚您的意思
    • 问题是我想在我的 ngFor 完成时运行一个方法或只做一次,如果我们使用 ngAfterViewChecked 它会在视图发生任何更改后运行
    • @MohammadMirzaeyan,也许您可​​以创建一个指令并将其放在 ngFor 之后,并在 ngDoCheck 生命周期钩子中的这个新指令内向组件发出事件。我怀疑当在这个新指令上调用ngDoCheck 时,ngFor 的 ngDoCheck 已经被执行,这就是 ngFor 渲染的地方
    猜你喜欢
    • 2017-10-29
    • 1970-01-01
    • 2010-12-13
    • 2010-09-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2016-04-10
    • 1970-01-01
    相关资源
    最近更新 更多