如何在组件视图以角度初始化后在指令中执行一些代码



我正在使用 Angular 8,并且我有一个组件,我在其中添加了自己的指令。我正在寻找一种方法,以便在组件(具有此指令(视图初始化后能够在指令正文中调用函数。此函数必须从指令调用,而不是从组件调用,因为我在各种组件中使用此指令。

如果要在指令中执行代码,它与组件具有相同的生命周期钩子。来自有关生命周期挂钩的文档:

指令具有相同的生命周期挂钩集。

这意味着您可以创建一个指令并给它一个 ngAfterViewInit 钩子,如下所示:

import { Directive, AfterViewInit } from '@angular/core';
@Directive({
selector: '[your-selector]'
})
export class YourDirective implements AfterViewInit {
constructor() { }
ngAfterViewInit() {
// Your code here
}
}

最新更新