テンプレートドリブンフォームをAngular 2で使用したいのですが、ローカルのプロパティとして現在のngFormにアクセスする必要があり、パラメータとして渡す必要はありません。角2テンプレート駆動フォームアクセスngForm inコンポーネント
私のフォームは次のようになります。私はmyFrmイストのヴァリデをかどうかを確認する必要がありますまたはI機能に感動したので
<form #frm="ngForm" (ngSubmit)="save(frm)">
<input [(ngModel)]="user.name" #name="ngForm" type="text">
<a (click)="showFrm()" class="btn btn-default">Show Frm</a>
</form>
と私のコンポーネント
@Component({
selector: 'addUser',
templateUrl: `Templates/AddUser`,
})
export class AddUserComponent implements CanDeactivate {
public user: User;
// how can I use this without defining the hole form
// in my component I only want to use ngModel
public frm : ngForm | ControlGroup;
public showFrm() : void{
//logs undefined on the console
console.log(this.frm);
}
}
では、可能なこのです現在のフォームをパラメータとして渡すことはできません。 "routerCanDeactivate"と私はモデル駆動型のフォームをあまりにも多くのコードを書くために使用したくないと私は古い学校ng1モデルのバインディングが大好きです。
私は私の例を更新しました、そして、frmはコンポーネントで知られていません。
私はgithubの上の機能要求を作成しました:https://github.com/angular/angular/issues/8538 – squadwuschel
は 'AddUserComponent'は、子要素としてフォーム内に配置されるべきか? ' <フォーム#FRM = "ngForm"(ngSubmit)= "セーブ(FRM)"> ... <追加 - ユーザーのコンポーネントを...>アドオンユーザー成分...> ' – Felix