搜索表单 google 未在 Angular2 中触发

Form to search google not triggering in Angular2

我正在尝试在我的应用中实现一个简单的搜索框来搜索 google(就像您在 google.com 中一样) 但是,单击提交按钮后似乎什么也没有发生。 Angular2 是否阻止表单触发?

  <form method="get" action="https://www.google.com/search">
    <input type="text" name="q" size="31" value="">
    <button type="submit" name="button">go</button>
  </form>

@DeboraK

这是我的解决方法: 我只是希望它是一种更简单的方法。一旦用户按下提交,我就会调用此函数。

  googleSearch() {
   let str = this.googlestring.searchvalue;
   let queryStr = str.split(' ').join('+');

   let googleStr = 'https://www.google.com/webhp#q=';

   let completeQueryStr = googleStr.concat(queryStr);

   console.log(this.googlestring.searchvalue);
   window.location.href = completeQueryStr;
  }

您可能已经将 FormsModule 导入到您的模块中。

请在您的表单上使用 ngNoForm<form ngNoForm> 或者如果您不使用它,请删除 FormsModule

Angular 表单默认在所有表单上激活,但标有 ngNoForm 属性的表单除外。在这里阅读更多:https://angular.io/docs/ts/latest/guide/forms.html

ngNoForm从何而来?

查看 NgForm 的文档:https://v2.angular.io/docs/ts/latest/api/forms/index/NgForm-directive.html。选择器部分:form:not([ngNoForm]):not([formGroup]) 注意 not([ngNoForm])