Forms Angular 2新表单,在提交时重定向到同一页面,表单字段附加在URL中,作为新路由器版本的查询参数

Forms Angular 2新表单,在提交时重定向到同一页面,表单字段附加在URL中,作为新路由器版本的查询参数,forms,angular,angular2-forms,Forms,Angular,Angular2 Forms,我正在将我的旧运行应用程序更新为新版本。它与旧版本配合得很好 在我的一个页面上,我使用了表单,因此当我将angular/forms更新为0.2.0版本时,组件路由器版本3.0.0-beta.1。我面临的问题是,当我尝试提交表单时,它会重定向到同一页面,并将所有输入的值追加到查询参数中 下面是问题陈述 重现问题的步骤: 您将进入“危机中心”页面,从中选择任何记录 编辑一些文本,然后单击submit按钮并检查导航栏中的URL 注意 我使用的是模板驱动的表单(我不认为这会有什么不同) 在预览窗口中打开

我正在将我的旧运行应用程序更新为新版本。它与旧版本配合得很好

在我的一个页面上,我使用了表单,因此当我将
angular/forms
更新为
0.2.0
版本时,组件路由器版本
3.0.0-beta.1
。我面临的问题是,当我尝试提交表单时,它会重定向到同一页面,并将所有输入的值追加到查询参数中

下面是问题陈述

重现问题的步骤:

  • 您将进入“危机中心”页面,从中选择任何记录
  • 编辑一些文本,然后单击submit按钮并检查导航栏中的URL
  • 注意

  • 我使用的是模板驱动的表单(我不认为这会有什么不同)
  • 在预览窗口中打开Plunkr(可以看到正在运行的应用程序URL的新选项卡)

  • 我也有同样的问题,但并不是每一条路线都会发生,这让调试很沮丧

    最后,我在正常表单
    submit
    上添加了一个
    preventDefault
    ,并在运行
    ngSubmit
    方法时发现我的页面上有一个错误。一旦我修复了这个错误,我就能够删除
    preventDefault
    ,并且它按照预期的方式工作(无需附加查询参数)

    html


    感谢您的回复,我喜欢您的想法,最好创建一个指令,它将在表单提交事件中为我们提供默认设置。。但理想情况下,这不应该发生
    <form (ngSubmit)="submitForm()" (submit)="preventDefault($event)">...</form>
    
    public preventDefault(event: Event): void {
      event.preventDefault();
    }