2017-10-18 10 views
0

필자는 헤더 구성 요소에 의해 제어되고 해당 장소에 대한 대시 보드를 표시하는 쇼핑 전환 기능을 보유하고 있습니다.각도 4에서 router.navigate 다음에보기를 다시로드하는 방법은 무엇입니까?

해당 헤더 구성 요소에서 이미 해당 경로에 있더라도 대시 보드 경로로 이동합니다.

this.router.navigate(['/venues', this.currentVenue._id, 'dashboard']); 

그러나 ngOnInit 후크를 다시 트리거하지 않으므로 내보기가 다시로드되지 않습니다.

그런 경우 올바른 해결 방법은 무엇입니까?

답변

1

보기를 다시로드해야합니까? 아니면 그냥 데이터를 reget? 만 라우팅 매개 변수를 기반으로 데이터를 reget해야하는 경우, 당신은이 작업을 수행 할 수

:

ngOnInit(): void { 
    this.route.params.subscribe(
     params => { 
      const id = +params['id']; 
      this.getMovie(id); // <- Or whatever you need to do here 
     } 
    ); 
} 

을 ngOnInit,이 코드는 루트 매개 변수로 등록합니다. 따라서 매개 변수가 변경 될 때마다보기가 변경/다시로드되지 않아도 변경 내용이 구독의 일부로 선택되고 연결된 콜백이 실행됩니다.