我正在使用来自primeng的菜单为我的应用程序。我显示了菜单,但我无法在我的应用中使路由工作。我设置特定链接的路由说“reports / 89”,但是当我点击链接对应的菜单时,它会尝试转到“localhost:3000 / r / e / p / o / r / t / s / 8/9” “这显然不存在。 我检查了包含我的菜单的items对象,routerLink正确指向“reports / 89”。 这里发生了什么以及为什么primeng将链接中的每个字符放入/中。 我的代码很简单: 私人物品: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为菜单项构建的span元素的href设置为“#”。这可能是问题,但不知道为什么设置这样,因为我提供自己的routerLinks。
我没有在我的组件中进行任何路由我认为所有这些都将在primeng中完成。
感谢您的帮助
答案 0 :(得分:2)
我发现了我的问题。我正在以错误的格式发送路由器链接,但让我离开的事情并没有得到任何错误,并试图走那条疯狂的道路。无论如何,对于有这个问题的其他人来说,routerLink需要是一个数组,其中包含路径的字符串,其开头是“/”。所以在我的情况下应该是routerLink:['/ reports / 1']。