anchor.diff:    `FormGroup` instance and associates it with an HTML element. 
     In this case, it associates the `FormGroup` you saved as 
     `heroForm` with the form element.
  +  
  +  `formGroup`是一个响应式表单的指令，它拿到一个现有`FormGroup`实例，并把它关联到一个HTML元素上。
  +  这种情况下，它关联到的是`form`元素上的`FormGroup`实例`heroForm`。
   
     Because the class now has a `FormGroup`, you must update the template 
     syntax for associating the input with the corresponding 
  
positive.code: 
  
  
  :marked
    Great! You have the basics of a form. 
    
    In real life apps, forms get big fast. 
    `FormBuilder` makes form development and maintenance easier.
  
  
  .l-main-section
  a#formbuilder
  :marked
    ## Introduction to _FormBuilder_
  
    The `FormBuilder` class helps reduce repetition and 
    clutter by handling details of control creation for you. 
  
    To use `FormBuilder`, you need to import it into `hero-detail.component.ts`:
  +makeExample('reactive-forms/ts/src/app/hero-detail-3a.component.ts', 'imports','src/app/hero-detail.component.ts (excerpt)')(format=".")
  
  :marked
    Use it now to refactor the `HeroDetailComponent` into something that's a little easier to read and write,
    by following this plan:
  
    * Explicitly declare the type of the `heroForm` property to be `FormGroup`; you'll initialize it later.
    * Inject a `FormBuilder` into the constructor.
    * Add a new method that uses the `FormBuilder` to define the `heroForm`; call it `createForm`.
    * Call `createForm` in the constructor.
  
    The revised `HeroDetailComponent` looks like this:
  +makeExample('reactive-forms/ts/src/app/hero-detail-3a.component.ts', 'v3a','src/app/hero-detail.component.ts (excerpt)')(format=".")
  
  :marked
    `FormBuilder.group` is a factory method that creates a `FormGroup`. &nbsp;
    `FormBuilder.group` takes an object whose keys and values are `FormControl` names and their definitions. 
    In this example, the `name` control is defined by its initial data value, an empty string.
  
    Defining a group of controls in a single object makes for a compact, readable style.
    It beats writing an equivalent series of `new FormControl(...)` statements.
  
  a#validators
  :marked
   ### Validators.required
   Though this guide doesn't go deeply into validations, here is one example that 
   demonstrates the simplicity of using `Validators.required` in reactive forms. 
  
  
negative.code:   in the class. This syntax tells Angular to look for the parent 
    `FormGroup`, in this case `heroForm`, and then _inside_ that group 
    to look for a `FormControl` called `name`.
    
    由于现在有了一个`FormGroup`，因此我们必须修改模板语法来把输入框关联到组件类中对应的`FormControl`上。
    以前没有父`FormGroup`的时候，`[formControl]="name"`也能正常工作，因为该指令可以独立工作，也就是说，不在`FormGroup`中时它也能用。
    有了`FormGroup`，`name`输入框就需要再添加一个语法`formControlName=name`，以便让它关联到类中正确的`FormControl`上。
    这个语法告诉Angular，查阅父`FormGroup`（这里是`heroForm`），然后在这个`FormGroup`中查阅一个名叫`name`的`FormControl`。
  
  .l-sub-section
    :marked
  