【问题标题】:Can we implement logic for all the Angular component ngAfterViewInit method?我们可以为所有 Angular 组件的 ngAfterViewInit 方法实现逻辑吗?
【发布时间】:2021-05-18 23:47:14
【问题描述】:

所有,我正在寻找一种通用方法来为大型 Web 应用程序中的所有组件实现 ngAfterViewInit 方法。

原因是我们需要跟踪每个页面的加载时间,所以为了做到这一点,我需要将检查解决方案放入ngAfterViewInit方法中,以便检查组件。

问题是组件太多,页面太多,如果我使用抽象类或者直接将逻辑放入方法中,我必须触摸所有组件并一一更新,这根本不是通用的。

所以我想知道是否有一些通用的解决方案可以在一个地方添加逻辑并被所有组件自动调用。

【问题讨论】:

  • 您也许可以挂钩到路由器事件。您可以在某些事件中访问组件实例。

标签: angular angular-routing angular-component-life-cycle


【解决方案1】:

可能不是您想听到的答案,但没有办法定义该行为或从模块级别利用您的所有组件。肯定会很整洁!

问题是当组件到达生命周期钩子的那个阶段时,AfterViewInit 功能会独立触发;从技术上讲,组件所属的模块不知道何时发生。

如果不扩展由所有组件扩展的基本类,这是不可能的。我要说的是,如果你在一个类中创建所有这些功能并在其中实现你需要的功能,那么你可以很容易地完成所有这些。另一件事是可能利用服务或后卫并将艰苦的工作减少一半。你可以在 app_initializer 中初始化任何你需要的东西并观察路由变化吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多