Angular2RC4-Primeng 菜单栏 routerlink 在点击后不转到我的路线

标签 angular menubar primeng

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

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 中完成。

谢谢你的帮助

最佳答案

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

关于Angular2RC4-Primeng 菜单栏 routerlink 在点击后不转到我的路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796198/

相关文章:

javascript - 如何在最小化屏幕时显示按钮?

angular - 使单选按钮默认选中

java - Jhipster 和 Angular 过滤器

objective-c - 如何确定哪个屏幕包含菜单栏?

angular - Angular 应用程序中的 PrimeNG p-dialog modal block 背景和对话窗口本身

css - 如何在primeng中的卡住和解冻列表中设置不同的列样式和宽度

javascript - 即使在清理后,Angular 2 iFrame 也会出现错误

html - 对齐 css 菜单文本左 besie 菜单图像

php - 如何使用 HTML 将菜单文件包含并链接到每个网页?

angular - PrimeNG:单击 p-dropdown 的 li 元素