37 lines
		
	
	
		
			836 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			836 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /* tslint:disable:component-class-suffix */ | ||
|  | import { Component }                          from '@angular/core'; | ||
|  | import { FormBuilder, FormGroup, Validators } from '@angular/forms'; | ||
|  | 
 | ||
|  | import { states } from './data-model'; | ||
|  | 
 | ||
|  | @Component({ | ||
|  |   moduleId: module.id, | ||
|  |   selector: 'hero-detail-5', | ||
|  |   templateUrl: './hero-detail-5.component.html' | ||
|  | }) | ||
|  | // #docregion v5
 | ||
|  | export class HeroDetailComponent5 { | ||
|  |   heroForm: FormGroup; | ||
|  |   states = states; | ||
|  | 
 | ||
|  |   constructor(private fb: FormBuilder) { | ||
|  |     this.createForm(); | ||
|  |   } | ||
|  | 
 | ||
|  |   createForm() { | ||
|  |     this.heroForm = this.fb.group({ // <-- the parent FormGroup
 | ||
|  |       name: ['', Validators.required ], | ||
|  |       address: this.fb.group({ // <-- the child FormGroup
 | ||
|  |         street: '', | ||
|  |         city: '', | ||
|  |         state: '', | ||
|  |         zip: '' | ||
|  |       }), | ||
|  |       power: '', | ||
|  |       sidekick: '' | ||
|  |     }); | ||
|  |   } | ||
|  | } | ||
|  | // #enddocregion v5
 | ||
|  | 
 |