मैं काफी angular2 के लिए नया हूँ और मैं मॉडल संचालित रूपोंपुन: उपयोग घटकों
का उपयोग कर पुन: प्रयोज्य प्रपत्र घटक बनाने के लिए कोशिश कर रहे हैं पिछले कुछ दिनों के लिएतो कहते हैं कि हम एक घटक है की सुविधा देता है componentA.component.ts
@Component({
selector: 'common-a',
template: `
<div [formGroup]="_metadataIdentifier">
<div class="form-group">
<label>Common A[1]</label>
<div>
<input type="text" formControlName="valueA1">
<small>Description 1</small>
</div>
<div class="form-group">
<label>Common A[2]</label>
<div>
<input type="text" formControlName="valueA2">
<small>Description 2</small>
</div>
</div>
`
})
export class ComponentA implements OnInit{
@Input('group')
public myForm: FormGroup;
constructor(private _fb: FormBuilder) {
}
ngOnInit() {
this.myForm = this._fb.group({
valueA1 : ['', [Validators.required]],
valueA2 : ['', [Validators.required]],
});
}
}
और एक घटक बी componentB.component.ts
@Component({
selector: 'common-b',
template: `
<div [formGroup]="_metadataIdentifier">
<div class="form-group">
<label>Common B</label>
<div>
<input type="text" formControlName="valueB">
<small>Description</small>
</div>
</div>
`
})
export class ComponentB implements OnInit{
@Input('group')
public myForm: FormGroup;
constructor(private _fb: FormBuilder) {
}
ngOnInit() {
this.myForm= this._fb.group({
valueB : ['', [Validators.required]]
});
}
}
मेरा प्रश्न कैसे है सीए n मैं मुख्य घटक में इनपुट के नियंत्रण को स्थानांतरित किए बिना इन दो उप घटकों का उपयोग करके एक फॉर्म लिखता हूं। उदाहरण के लिए एक main.component.ts
@Component({
selector: 'main',
template: `
<form [formGroup]="myForm" (ngSubmit)="onSubmit(myForm.value)">
<div>
<common-a [group]="formA"></common-a>
<common-b [group]="formB"></common-b>
<div>
<button>Register!</button>
</div>
</div>
</form>
`
})
export class Main implements OnInit{
@Input('group')
public myForm: FormGroup;
public formA : FormGroup;
public formB : FormGroup;
constructor(private _fb: FormBuilder) {
}
ngOnInit() {
this.myForm = this._fb.group({
//how can I compose these two sub forms here
//leaving the form control names agnostic to this component
});
}
}
इस विचार के पीछे की अवधारणा कई जटिल रूपों है कि उनके निर्माण खंडों में से कुछ हिस्सा निर्माण करना है।
है यही कारण है, मैं नहीं चाहता कि मेरी Main
घटक formControlNames
के नाम जानना चाहता हूँ [valueA1
, valueA2
valueB
,] लेकिन स्वतः उन्हें डालने और अद्यतन/शीर्ष स्तर प्रपत्र समूह पर मान्य।
सही दिशा में कोई भी विचार या अंक उपयोगी होगा।
धन्यवाद बहुत, यह वास्तव में सहायक और आंख खोलने वाला था :) – stevengatsios
कोणीय के लिए नया, और मॉडल-संचालित रूपों के साथ तुरंत शुरू हुआ। जिज्ञासा से, * फॉर्म ग्रुप * फ़ील्ड को अनुशंसित दृष्टिकोण या वर्कअराउंड साझा करने की यह विधि है? मैं एक जटिल प्रणाली का निर्माण कर रहा हूं और मैं छोटे घटकों को विकसित करने पर ध्यान केंद्रित करने की कोशिश करता हूं और फिर उन्हें माता-पिता के संबंधों (4-5 स्तर) में पुन: उपयोग करता हूं। – Raf