2016-08-05 3 views
3

내 앱에 primeng의 Menubar를 사용하고 있습니다. Menu가 표시되었지만 내 앱에서 라우팅이 작동하지 못했습니다. 특정 링크의 경로를 "reports/89"라고 설정했지만 링크에 해당하는 메뉴를 클릭하면 "localhost : 3000/r/e/p/o/r/t/s/8/9"로 이동하려고 시도합니다. "분명히 존재하지 않습니다. 메뉴가 포함 된 항목 개체를 확인했는데 routerLink가 "reports/89"를 올바르게 가리키고 있습니다. 여기서는 무슨 일이 벌어지고 있으며 왜 primeng이 링크의 모든 문자를 넣는가? 내 코드는 간단합니다 : private items : MenuItem [] = []; 항목, 레이블 및 routerLinks로 항목 배열을 채 웁니다.Angular2RC4-Primeng Menubar 라우터 링크가 클릭 후 내 경로로 이동하지 않습니다.

this.items = [ 
{ 
"label": "Lookup", 
"routerLink": "/reports/79" 
}, 
{ 
"label": "Reports", 
"routerLink": "/reports/89", 
"items": [ 
    { 
    "label": "Lab Results", 
    "routerLink": "/reports/3" 
    }, 
    { 
    "label": "test Results", 
    "routerLink": "/reports/4" 
    } 
] 

모든 메뉴가 올바르게 표시되지만 나는 메뉴 항목 primeng에 의해 만들어 스팬 요소의 HREF는 "#"으로 설정되어 나타났습니다. 이것은 문제 일지 모르지만 내가 왜 내 자신의 routerLinks를 제공하고 있기 때문에 그렇게 설정하고 있는지 모른다.

내 구성 요소에서 라우팅을 수행하지 않고 있으며 모든 것이 primeng에서 수행 될 것이라고 생각합니다.

도움 주셔서 감사합니다.

답변

2

내 문제가 발견되었습니다. 나는 틀린 체재에있는 라우터 링크를 보내고 있었다. 그러나 나를 추돌시키는 것은 어떤 오류라도 얻지 않고 있었고, 그 미친 길을 가려고 노력하지 않았다. 어쨌든,이 문제를 가진 다른 누구라도 라우터 링크는 시작 부분에 "/"가있는 문자열을 포함하는 배열이어야합니다. 그래서 제 경우에는 routerLink : [ '/ reports/1']이어야합니다.