2017-08-14 35 views
0

我有FormGroup包含子FormGroup:NG2發送formgroup到組件作爲參數

sub formGroup initalize: 
    this.fg=new FormGroup({ 
     name: new FormControl(), 
     abcFg: new FormGroup({ 
      aaa: new FormControl(), 
      bbb: new FormControl() 
     }) 
    }); 

我有主要成分包含abcComponent:

@Component({ 
    selector: 'mainComponent', 
    styles: [], 
    providers: [], 
    template: ` 
     <div *ngIf="fg"> 
      <form [formGroup]="fg"> 
        <abcComponent></abcComponent> 
      </form> 
     </div> 
     ` 

我想送分formGroup(ABC)以abcComponent作爲參數(輸入)。

abcComponent:

@Component({ 
    selector: 'abcComponent', 
    styles: [], 
    providers: [], 
    template: ` 
     <div *ngIf="abcFg"> 
      <form [formGroup]="abcFg"> 
       <input type="text" formControlName="aaa" /> 
       <input type="text" formControlName="bbb" /> 
      </form> 
     </div> 
     ` 
export class AbcComponent{ 
    @input() public abcFg:FormGroup; 
} 

我嘗試這樣做:

<abcComponent [abcFg]="fg.controls[abcFg"]"></abcComponent> 

但它不工作...我怎麼能解決這個問題? 謝謝!

+0

''? – yurzui

+0

abcComponent具有輸入參數名稱'abcFg'。我試圖將子formGroup發送到輸入參數。 此行屬於mainComponent而不是 haya

+0

您是否試過我的代碼? – yurzui

回答

1

可以傳遞的abcFg值到您abcComponent這樣的:

<abcComponent [abcFg]="fg.value.abcFg"></abcComponent> 

然後在abcComponent

export class AbcComponent implements OnInit{ 
    @input() public abcFg; 
    abcfgForm : FormGroup; 

    constructor(private fb: FormBuilder){} 

    ngOnInit(){ 
     this.abcfgForm = this.fb.group({ 
      aaa: [this.abcFg.aaa], 
      bbb: [this.abcFg.bbb] 
     }); 
    } 
} 
+0

謝謝!它的工作很好:) – haya