2016-08-10 2 views
0

그래서 여러 구성 요소가 있으며 둘 사이를 탐색 할 수 있습니다. 그러나 비즈니스에서는 사용자가 차례로 각 항목으로 이동해야합니다. 즉, 사용자가 1 단계에서 필요한 모든 작업을 수행하지 않은 경우 2 단계 구성 요소로 이동할 수 없어야합니다. 약 5 개의 구성 요소가 있으며 사용자는 마지막 구성 요소로 이동하기 위해 이전 구성 요소와 상호 작용해야합니다.각도 2로 사용자가 순차적으로 이동하도록하십시오.

Angular 1의 경우 사용자가 특정 컨트롤러의 모든 단계를 탐색했는지 알려주는 서비스 내에 플래그를 유지했습니다. 시퀀스의 다음 컨트롤러를 초기화 할 때 부울이 참인지를 확인했습니다. 그렇지 않다면 프로그래밍 방식으로 사용자를 시퀀스의 첫 번째 컨트롤러로 리디렉션했습니다.

각도 2 (컨트롤러를 교체하는 구성 요소)에서도이 작업을 수행 할 수 있는지 궁금합니다. 가드를 사용하여 작업을 수행 할 수있는 방법이 있습니까?

답변

0

기술적으로이 기능을 구현하는 데 Guard을 사용할 수 있지만 더 나은 솔루션이라고 생각하지 않습니다. 먼저, 4 명의 다른 경비원이 필요합니다 (4 개의 후속 구성 요소에 대해). 둘째, CanActivateGuard의 가장 좋은 점은보기로 이동하지 못하게하는 것입니다. 제한된 콘텐츠를 보호하기에 좋지만 귀하의 경우에는 많은 것을 제공하지 않습니다.

나는 당신이 현재의 방법으로 가고, 모든 이들 구성 요소에 주입되는 공통 서비스 안에 깃발을 보관할 것을 제안합니다.