单击后,Angular2RC4-Primeng 菜单栏路由器链接不会转到我的路线

Afi*_*Afi 4 menubar primeng angular

我正在为我的应用程序使用来自primeng 的菜单栏。我显示了菜单,但我无法使路由在我的应用程序中工作。我设置了特定链接的路由说“reports/89”,但是当我单击与链接对应的菜单时,它会尝试转到“localhost:3000/r/e/p/o/r/t/s/8/9” "这显然不存在。我检查了包含我的菜单的项目对象,并且 routerLink 正确指向“reports/89”。这里发生了什么以及为什么primeng在链接中的每个字符之间放置/。我的代码很简单:私人项目:MenuItem[] = []; 用项目、标签和路由器链接填充项目数组。

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"
  }
]
Run Code Online (Sandbox Code Playgroud)

所有菜单都正确显示,但我注意到由primeng 为菜单项构建的span 元素的href 设置为“#”。这可能是问题所在,但不知道为什么会这样设置,因为我提供了自己的 routerLinks。

我没有在我的组件中进行任何路由,我认为所有这些都将在 Primeng 中完成。

感谢您的帮助

Afi*_*Afi 6

我发现了我的问题。我以错误的格式发送路由器链接,但让我失望的是没有收到任何错误并试图走那条疯狂的道路。无论如何,对于遇到此问题的任何其他人,routerLink 需要是一个数组,其中包含指向以“/”开头的路径的字符串。所以在我的情况下应该是 routerLink: ['/reports/1']。