2017-02-10 8 views
1

에 QueryParam와 경로를 처리?내가</p> <pre><code>{path: 'activity/?cInfo=askjdfkajsdfkasd', component: PostComponent}, {path: 'activity/:id', component: PostDetailComponent} </code></pre> <p>은 내가 무엇을 가지고 그들을 작동하도록 내 appilcation에 두 개의 경로가 Angular2

경로와 쿼리 문자열 ? CINFO = askjdfkajsdfkasd이/skjdfhakjdfhaajsdf 내가 시도

PostDetailComponent에 가야한다 활동처럼

PostComponent 및 경로를 이동해야

{path: 'activity/?cInfo=askjdfkajsdfkasd', component: PostComponent,canActivate:[CheckForListPage],pathMatch:'full'}, 
{path: 'activity/:id', component: PostDetailComponent,canActivate:[CheckForDetailPage]} 

그러나 1이 호출 될 때마다. 경비원은 부울을 반환합니다.

대부분의 MVC처럼 angleParams와 pathVariables를 구분합니까?

답변

2

이 방법으로 경로를 신고해야한다고 생각합니다.

{path: '/activity', component: PostComponent,canActivate:[CheckForListPage]}, 
{path: '/activity/:id', component: PostDetailComponent,canActivate:[CheckForDetailPage]} 

그래서, 때 CINFO이 = askjdfkajsdfkasd 라우터가 첫 번째로 정의 된 경로 (/ 활동)과 일치합니다? /활동으로 이동 한 다음 구성 요소 내부의 경로로 전달 된 queryParameters를 검색 할 수 있습니다 (PostComponent). 물론

ngOnInit(): void { 
    this.route.queryParams 
     .subscribe(params => { 
      // complete params object 
      console.log(params); 

      // your param passed 
      console.log(params['cInfo']) 
     }); 
} 

당신은 각도/경로 ActivatedRoute @ 가져 오기를 필요

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

그리고 ngOnInit 방법에 있어야 첫 번째 코드 조각 전에 유형 의 속성 ActivatedRoute (같은 생성자 설정 경로 즉, 컴포넌트 클래스는 @ Angle/Core의 OnInit을 구현해야합니다.

constructor(
    private route  : ActivatedRoute 
){} 
+0

대소 문자를 어떻게 처리 할 생각인가요? –

+0

@DinkarThakur 정확히 무슨 뜻입니까? 이 같은? http://stackoverflow.com/questions/36154672/angular2-make-route-paths-case-insensitive –