Dev/Angular

[Angular] 라우터(Router) unsubscribe

Mr.Walker 2023. 1. 27. 10:38
반응형

!주의

기록을 위한 포스트입니다. 자세한 설명은 없습니다.

이전포스트 [Angular] SPA URL 변경감지로 라우터 이벤트를 사용했다.

https://walkerlab.tistory.com/19

 

[Angular] SPA URL 변경감지

!주의 기록을 위한 포스트입니다. 자세한 설명은 없습니다. constructor(private router: Router) { router.events.subscribe(val => { // URL(location) 변경시 마다 실행시킬 함수(이벤트) }); } 기본적으로 SPA일 때 페이

walkerlab.tistory.com

하지만 개발 도중 Router event subscribe 로 인해 문제가 있어 특정상황에서 subscribe를 해제해야 했다.

그래서 ngOnDestory 시점에 unsubscribe를 시켜 문제를 해결했다.

이 때 unsubscribe를 한 후 해당 ts에서는 router를 사용할 수 없으니 유의할 것!

// Router subscribe 객체 선언
navSub: Subscription = null;

constructor (private router: Router) { 
	this.navsub = router.events.subscribe( () => {
    // URL(location) 변경시 마다 실행시킬 함수(이벤트)
    });
}

ngOnDestroy() {
// Router unsubscribe 
	this.navSub.unsubscribe();
}
반응형