2017-10-06 12 views
0

은, 다른 정보의 목록이있다 그래서 ...하여 다른 프로파일을 탐색 할 때각도 2 이동은 동일한 성분의 내부의 전류 프로파일을 표시 "ProfileComponent"의

this.router.navigate(['/profile/' + profileID]); 

그것을 변경 http://localhost:4200/profile/hj45k35v

-http://localhost:4200/profile/fsfterthjkj5

로부터 URL에 PARAMS하지만 요소는 동일한 프로파일을 도시 유지한다. 이전 프로필에 새 프로필을 지정하고 페이지의 모든 데이터를 업데이트하는 방식으로 구성 요소를 다시 렌더링 할 수 있지만 어떻게해야합니까? 이전 프로필로 돌아가려면 "뒤로"를 클릭하면됩니다. 브라우저의 버튼.

params가 변경된 후에 페이지를 새로 고침했습니다. 그 방법으로도 필요한 프로필이 렌더링되지만 여전히 되돌릴 수 없습니다. 매개 변수는 URL에서 변경되고 페이지에는 영향을주지 않으며 요청이 없습니다. 이미로드 된 동안 다시로드 한 후 동일한 데이터

답변

2

당신이 경로 매개 변수의 관찰 가능한에 가입해야하는 다른 매개 변수와 같은 구성 요소를 탐색 할 [href]="testFunc(profile.userId)".

가져 오기 :

import { ActivatedRoute } from '@angular/router'; 

생성자 :

constructor(private route: ActivatedRoute) { } 

하는 OnInit 라이프 사이클 훅 : 경로 매개 변수 구성 요소를 변경하지 않고 변경

ngOnInit(): void { 
    this.route.params.subscribe(
     params => { 
      const id = +params['id']; 
      this.getMovie(id); 
     } 
    ); 
} 

때마다, 내 코드 subscribe 메소드가 실행됩니다.

이 예제에서는 매개 변수에서 ID를 가져 와서 정의 된 ID로 영화를 가져옵니다.

시나리오와 같이 작동해야합니다.

+0

DeborahK 감사. 그것은 실제로 일했다 !!) –

+0

BTW. 나는 당신에게 복수형 튜토리얼을 통해 각도를 배웠다. ..))) 그렇게 많이 고맙다 !!) 당신은 위대하다! –

+0

정말 고마워요! (라우팅 라우팅에 대한 자세한 내용은 https://app.pluralsight.com/library/courses/angular-routing을 참조하십시오. – DeborahK

0

확인 난 그냥 구현 ... 추측 해결이

testFunc(id){ return '/profile/' + id;} 
+0

이것은 최상의 대답이 아닐 수 있습니다. 기본적으로 라우팅을 "건너 뜁니다". 이로 인해 다른 문제가 발생할 수 있습니다. 다른 매개 변수를 사용하여 동일한 구성 요소를 탐색하려면 경로 매개 변수의 Observable에 가입해야합니다. – DeborahK