2017-12-19 6 views
0

각도 프로젝트 내부에 기능이 있습니다. 내가 그것을 실행할 때, 나는 집에 갈 것을 기대한다.각도의 리디렉션 기능

내 기능 안에는 조건이 있습니다. 사실이라면 리디렉션하고 싶습니다.

if (condition) { 
    location.url('/home'); 
    // code... 
} 
+0

내가 각도의 [라우터] (https://angular.io/tutorial/toh-pt5) 가이드를 읽고 제안 사용할 수 있습니다. Angular는 모든 라우터 변경 사항을 처리해야합니다. 'location.href = ...'를 실행하면 네이티브 js redirect를 사용하고 있습니다. 그러면 앱이 새로 고쳐집니다. (사용자 경험이 아프다) – LLai

답변

2
constructor(private router: Router) { } 

if (condition) { 
     this.router.navigate(['/home']); 
} 
1

"리디렉션"이란 무엇을 의미 하느냐고 약간 혼란 스럽습니다. 최종 위치를 결정하는 조건이있는 경우 한 위치 또는 다른 위치로 이동할 수 있습니다. 당신이 윈도우 역사를 반영하는 진정한 리디렉션을 의미하는 경우

if(location) { 
    $location.url('/home'); 
} else { 
    $location.url('/otherDestination'); 
} 

, AngularJS에서 제공하는 $location.replace 기능에 대해 읽어보십시오. 'Replace method'섹션으로 스크롤하십시오. 희망이 도움이!

$location.url('/otherDestination').replace(); 
+0

나는 조건이있다 :'if (task.id == id) { location.url ('/ home'); // 코드 ... } – ValRob

+0

설명해 주실 수 있습니까? task.id! = id 인 경우 리디렉션하는 방법을 묻는 중입니까? –

+0

예, 조건이 그렇게 중요합니까? – ValRob

0

는 Yyou 항상 JS가

window.location.href = 'xyz';