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