从对话框内的角度材料表格提交

时间:2018-08-13 13:37:24

标签: javascript angular angular-material2

我在对话框中有一个表单。

mainComponent

  openDialog() {
     this.dialog.open(ModelContent);
  }

HTML

<form (ngSubmit)="setRule(f)" #f="ngForm">
        <md-form-field>
            <input matInput placeholder="Name" name="name" ngModel>
        </md-form-field>
    .....

      <button mat-raised-button mat-dialog-close>Confirm</button>
      <button mat-raised-button mat-dialog-close>Cancel</button>

</form>

我有一个没有对话框的表单,并且对于confirmcancel都可以正常工作,现在我决定在对话框中打开该表单。但是我无法获得setRule(f)的值。

ModelComponent

setRule(f) {
  console.log(f);
}

有人可以让我知道我在想什么。 任何帮助表示赞赏。

谢谢。

1 个答案:

答案 0 :(得分:0)

打开对话框代码添加到定义setRule()方法的同一组件中。如是。应该可以。

服务:

private formSubmitEvent = new Subject<any>();
public formSubmitEvent$ = this.formSubmitEvent.asObservable();

主要组件:

setRule(){
   service.formSubmitEvent.next(values);
}

ModelComponent:

ngOninit(){
    service.formSubmitEvent$.subscribe(values=>{
       console.log(values);
    })
}