2016-12-20 2 views
2

저는 Angular 2 응용 프로그램을 만들고 약간의 개념적 문제가 있습니다.각도 2의 필터링 된 경로

내 응용 프로그램에는 검색 표시 줄, 탐색 목록 및 표시 할 콘텐츠의 라우터 콘센트가 포함 된 대시 보드 페이지가 있습니다. 내 탐색 목록에서 나는 등 여러 가지 링크가 : I는 각 링크를 클릭

...

  • 모든 항목,
  • 내 항목,
  • 보류중인 항목을 I ItemsModule 및 ItemsComponent에 의해 처리되는/items로 이동 중입니다. 저는 이미 경로와 링크를 구현했지만 어떤 링크를 사용했는지 결정하는 방법에 대해 고심하고 있습니다.

    나는 그것을 구현하는 몇 가지 방법에 대해 생각 : 매개 변수

    1. 경로 다음 내가 (모든/내/보류)를 사용하여 한 일 "필터"를 참조 구성 요소의 내부 스위치 케이스를 사용합니다. -
    2. 특정 경로 옵션 예를 들어 나는 3 개 경로 추가 할 것입니다 : 2.1/항목 - 내 항목을 표시 2.3/아이템/대기하는 - - 나의/모든 항목을 2.2/항목을 표시 보여중인 항목

    또한 위에서 언급했듯이 특정 항목 (내가 '전체'/ '내'/ '보류 중'항목에 있는지 여부)을 검색 할 수있는 검색 표시 줄이 있습니다. 내비게이션과 라우팅을 모두 결합하여 함께 작동시킬 수 있을지 궁금합니다.

    누군가 내 문제를 "해결"할 방법을 찾았 으면 알려주세요. 구성 요소에서

    {path: 'items', component: ItemsComponent}, 
    {path: 'items/:type', component: ItemsComponent}, 
    {path: 'items/:type/:searchString', component: ItemsComponent} 
    

    :

답변

1

나는 3 개 경로를 사용하는 것이

this._route.params.subscribe(p => { 
    var searchString = p["searchString"]; 
    switch(p["type"]) { 
     case 'all': 
     //do something 
     break; 
     case 'mine': 
     //do something 
     break; 
     case 'pending': 
     //do something 
     break; 
     default: 
     //do something 
     break; 
    } 
}