我在 Angular 4 项目中遇到了一个奇怪的问题。我正在尝试通过代码导航到路径(单击按钮)。我正在使用 router.navigate()
完成这项工作的方法如下——
this._router.navigate(["/employeeDetails", selectedEmployee.EmployeeId]);
哪里
selectedEmployee.EmployeeId
是一个数字。导航发生了,但我在 URL 中发现了一个非常奇怪的东西。最初 URL 显示如下——
http://localhost:4200/?employeeDetails/170
然后是 ?
符号从 URL 中消失并加载所需的页面。谁能告诉我为什么
?
标志出现在 URL 中。理想情况下,它应该为路由加载相应的组件 "/employeeDetails"
无需刷新页面。我也尝试了没有 /
的代码如下但没有帮助。this._router.navigate(["/employeeDetails", selectedEmployee.EmployeeId]);
任何帮助,将不胜感激。
最佳答案
以前的答案都没有给出正确的答案,即使认为其中一些有效!但所有人都打了补丁,而不对我们所拥有的事件的原因采取行动。
解决方案 是设置类型=“按钮”到按钮元素,因为默认情况下,如果未指定,表单会将按钮标识为 type="submit"并触发提交操作。
但是谢谢,因为答案的组合帮助我找到了真正的原因!
关于Angular 2 路由器在 URL 中附加问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47927645/