Ami*_*and 5 angular-routing angular
我在 Angular 4 项目中遇到了一个奇怪的问题。我正在尝试通过代码导航到路径(单击按钮)。我正在使用router.navigate()如下方法来完成这项工作——
this._router.navigate(["/employeeDetails", selectedEmployee.EmployeeId]);
Run Code Online (Sandbox Code Playgroud)
哪里selectedEmployee.EmployeeId有数字。导航发生了,但我在 URL 中发现了一个非常奇怪的东西。最初 URL 显示如下——
http://localhost:4200/?employeeDetails/170然后该?符号从 URL 中消失并加载所需的页面。
谁能告诉我为什么该?标志出现在 URL 中。理想情况下,它应该在"/employeeDetails"不刷新页面的情况下加载路由的相应组件。我也尝试了没有/如下所示的代码,但没有帮助。
this._router.navigate(["/employeeDetails", selectedEmployee.EmployeeId]);
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
以前的答案都没有给出正确的答案,即使认为其中一些有效!但所有人都打了补丁,而不对我们所拥有的事件的原因采取行动。
该溶液是设置类型=“按钮”的按钮元件,因为默认的形式识别该按钮作为类型=“提交”,如果没有指定和触发器的提交操作。
但是谢谢,因为答案的组合帮助我找到了真正的原因!
小智 3
原因可能是缺少action="/formsubmit". 当 Chrome 尝试发送没有 this 的 GET 请求时,它会将 a 附加?到当前 URL。
请尝试执行以下提交操作:
onSubmitAction(event){
event.preventDefault()
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你 :)
| 归档时间: |
|
| 查看次数: |
4351 次 |
| 最近记录: |