簡體   English   中英

角生命周期掛鈎

[英]Angular lifecycle hook

當我使用firebase js sdk進行一個有角度的項目並實現生命周期掛鈎(例如afterviewinit)並在控制台上編寫內容時,控制台消息會再次重復無窮大的時間。 我希望該消息僅出現一次在控制台上。

感謝解決此問題

AppModule {
    constructor(){
        firebase.initializeApp(environment.firebase);
    }
}

import { Component, DoCheck } from '@angular/core';
import { UserService } from ...;
@Component({
    selector: 'app-navbar',
    templateUrl: './navbar.component.html'
})
export class NavbarComponent implements DoCheck { 
    public isCollapsed = true; 
    isLoggedIn = false; 

    constructor(public userService: UserService) {}  

    ngDoCheck(){ console.log("navbar docheck"); } 
} 

據我了解,您已經將console.log()放入了所有生命周期掛鈎。

如果您還在ngAfterContentChecked / ngAfterViewChecked完成了此ngAfterViewChecked ,則請記住,每次運行更改檢測(應用程序狀態更改)並且如果具有console.log() ,它都會不斷執行,它將無限顯示

ngDoCheck是一種執行更改檢測的回調方法,該方法在默認更改檢測器運行之后調用,並且每次運行更改檢測(應用程序狀態更改)時,如果您有console.log(),它將無限顯示。 如果只希望運行一次,請使用ngOnInit,ngAfterContentInit或ngAfterViewInit

angular.io/guide/lifecycle-hooks

暫無
暫無

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

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