せずに、私は以下のhtmlを持って動作しません:Angular2フォーム変数はngModel
<form #f="ngForm">
<input type="text" name="dd" value="abc" (change)="foof(f.form.value)"/>
</form>
しかし、f.form.valueはfoof機能は、私が入力されたテキスト値を変更したときに呼び出されたときに、その中には何もありません。 私は
<input type="text" name="dd" [ngModel]="abc" (change)="foof(f.form.value)"/>
、以下のように入力要素にngModelを追加する場合にのみ、その後f.form.valueはDD入力テキスト値を持っています。 なぜこれが分かりませんか?フォーム変数を正しく動作させるには、ngModelを使用する必要がありますか?
注:私たちのアプリでは、特定の理由から、dd入力が変更されたときにフォーム全体を提出しなければならないので、foof(f.form.value)が必要です。私はまた、モデルとhtmlレイアウトの間のバリエーションのために、双方向バインディング、片方向バインディングを望んでいません。
ありがとう!!これはこの問題を解決し、複数のコンポーネントにわたってフォームを分散させ、反応型フォームを使用せずにテンプレート駆動型フォームを使用しなければならないという問題を解決しました。 javascriptを使用すると、それも可能になりました! – vanval
素晴らしい!お役に立てて嬉しいです! :) – Alex