簡體   English   中英

Angular 8+ - 如果我不打算覆蓋它,是否需要在我的組件中實現 OnInit function?

[英]Angular 8+ - do I need to implement the OnInit function in my components if I am not planning to override it?

我正在使用 Angular 8 進行項目。

我注意到,當我使用 OnInit 附帶的命令行生成組件時。

例如

export class SideDrawerComponent implements OnInit {

    constructor(private sideDrawerService: SideDrawerService) { }

    public ngOnInit(): void { }

    public close() {
        this.sideDrawerService.closeDrawer();
    }

}

由於我不會覆蓋 function,我需要它嗎?

不,您可以刪除它和 OnInit 接口。

文檔

當 Angular 創建、更新或銷毀該實例時,這些鈎子讓您有機會在適當的時候對組件或指令實例進行操作。 如果您在組件或指令 class 中實現此方法,則 Angular 在第一次檢查該組件或指令的輸入屬性后不久將調用它。

所以它不是強制性的,但如果你包含它就會被觸發。

此外,如果您希望包含一個生命周期鈎子(例如ngOnInit ),那么實現相應的接口( OnInit )不是強制性的。 該界面僅用於指導用戶進行類型檢查和拼寫錯誤。 理論上,您可以包含所有生命周期鈎子函數,而無需實現它們的接口對應項。

在這里查看更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM