Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度2:按enter键触发一个方法,而我不';我不知道如何阻止它_Angular_Events_Keypress - Fatal编程技术网

Angular 角度2:按enter键触发一个方法,而我不';我不知道如何阻止它

Angular 角度2:按enter键触发一个方法,而我不';我不知道如何阻止它,angular,events,keypress,Angular,Events,Keypress,我已经写了一个表单,绑定到一个角度为2的组件。当我在任何文本输入中按enter键时,它会启动一个绑定到按钮(单击)事件的方法 这是我按下enter键的文本字段: <input type="text" class="form-control" name="name" [ngModel]="tutorial.name" #name="ngModel" required> 这是触发的按钮单击方法: <button class="btn btn-success button-ri

我已经写了一个表单,绑定到一个角度为2的组件。当我在任何文本输入中按enter键时,它会启动一个绑定到按钮(单击)事件的方法

这是我按下enter键的文本字段:

<input type="text" class="form-control" name="name" [ngModel]="tutorial.name" #name="ngModel" required>

这是触发的按钮单击方法:

<button class="btn btn-success button-right" (click)="addEasy('')">+</button>
+
该按钮调用“addEasy()”方法。此方法将新的空元素推送到数组中。该数组绑定到*ngfor。因此,每当我按下第一个文本输入字段中的enter按钮时,我的*ngFor中就会出现另一个空行


我真的不知道如何解决这个问题。谢谢你的帮助

要防止表单在enter时提交,请在您的
标记中添加以下内容:

<form (keydown.enter)="$event.preventDefault()"

您可以在按钮中添加
type=“button”
。使用此选项,您仍然可以使用enter提交表单。

使用了另一种解决方法,但我稍后将尝试此方法。谢谢。:)ChristianGehn你能像@Faisal那样在这里分享你的工作方法吗?这让我发疯了,谢谢!我不明白Angular为什么这么做。我在被调用的按钮之前添加了另一个按钮,新按钮的点击事件现在被触发。默认情况下,它会将任何元素上定义的第一个事件视为表单的提交方法?这是怎么回事lol。我刚刚发现,每当我在任何字段上按enter键时,我的表单(没有提交按钮)的第一个按钮(单击)处理程序也会被触发。老实说,我认为这应该作为Angular的GitHub上的一个bug提出来。