web-dev-qa-db-ja.com

コンポーネントからAngular 2フォーム送信をトリガーするには?

基本的に、私は持っています

_<form #f="ngForm" (ngSubmit)="save(f.form)" #formElement>
    ...
    <button class="btn btn-primary" #saveButton>Save</button>
</form>
_

コンポーネントからsubmit()をトリガーできるようにしたい。 @viewChild('formElement')と_renderer.invokeElementMethod_を試してclick()をトリガーしました。

14
lock42

NgForm には EventEmitter であるプロパティngSubmitがあります。したがって、コンポーネントからこのプロパティでemit()を実行すると、送信がトリガーされます。

また、fformElementを参照しているため、fの代わりにngForm変数を使用する必要があります。

@ViewChild('f') form: NgForm;

form.ngSubmit.emit();
19
Hristo Enev