2016-07-14 1 views
0

라우터를 다시 작성하는 방법은 무엇입니까? 동일한 라우터를로드하지만 다른 매개 변수를 사용하면 URL 만 변경되고보기는 동일하게 유지됩니다. 라우터를 말할 수있는 방법이 있습니까? - "이봐, 다시 지어 라!"Angular2보기를 다시 작성하는 방법 (라우팅)

다시로드하지 않고 window.location.reload()과 같은 효과가 필요합니다.

답변

1

다른 매개 변수로 동일한 경로를 탐색하면 해당 구성 요소가 다시 사용됩니다. 따라서 ngOnInit은 다시 호출되지 않으므로 페이지가 업데이트되지 않는다고 생각할 수 있습니다. 당신은 ngOnInit에서 routeparam에 가입하고 감사합니다, 또한 다른 그래서 question

+0

헤이 볼

constructor( private route: ActivatedRoute, private router: Router,......) {} In the ngOnInit method, we use the ActivatedRoute service to retrieve the parameters for our route ngOnInit() { this.sub = this.route.params.subscribe(params => { let id = +params['id']; // (+) converts string 'id' to a number //here goes your logic like below this.service.getHero(id).then(hero => this.hero = hero); }); } 

생성자

에 가입 한 기능에

를 주입 활성화 경로를보기 업데이트를해야한다. 그것은 작동하지만 이상합니다. 나는 하나의 라우터 다. 마치 Cliked A -> 아무것도 아니야, B -> A로 리디렉션 됨, C -> B로 리디렉션 됨. 무엇이 잘못되었는지 알아? – elzoy

+0

확인한 후 콘솔 표현에 대한 경고가 표시 될 수있는 일부 코드를 표시하십시오. setTimeout에서 setter를 래핑 해보십시오. 매개 변수 처리와 관련된 코드 표시 –

+0

죄송합니다. 내 코드를 리팩토링하는 것을 잊었습니다. params [ 'id'] 대신에 subscription 인 this.route.params.snapshot [ 'id']을 사용했습니다. 고마워, 너 락;) – elzoy

관련 문제