anchor.diff:    'name-with-error-msg', 
     'app/hero-form.component.html (excerpt)')(format=".")
   :marked
  -  When we added the `ngControl` directive, we bound it to the the model's `name` property.
  -  
  -  Here we initialize a template local variable (`name`) with the value "ngForm" (`#name="ngForm"`).
  -  Angular recognizes that syntax and re-sets the `name` local template variable to the
  -  `ngControl` directive instance.
  -  In other words, the `name` local template variable becomes a handle on the `ngControl` object
  -  for this input box.
  +  We need a template local variable to access the input box's Angular control from within the template.
  +  Here we created a variable called `name` and gave it the value "ngForm".
  +.l-sub-section
  +  :marked
  +    Why "ngForm"? 
  +    A directive's [exportAs](/docs/ts/latest/api/core/DirectiveMetadata-class.html#!#exportAs) property 
  +    tells Angular how to link local variable to the directive.
  +    We set `name` to `ngForm` because the `NgControlName` directive's `exportAs` property happens to be "ngForm".
  +    
  +    This seems unintuitive at first until we realize that *all* control directives in the 
  +    Angular form family &mdash including `NgForm`, `NgModel`, `NgControlName` and `NgControlGroup` &mdash; *exportAs* "ngForm"
  +    and we only ever apply *one* of these directives to an element tag.
  +    Consistency rules!
   
     Now we can control visibility of the "name" error message by binding properties of the `name` control to the message `<div>` element's `hidden` property.
   +makeExample('forms/ts/app/hero-form.component.html', 
  
positive.code: <a id="ngModel"></a>
  .l-main-section
  :marked
    ## Two-way data binding with ***ngModel**
    Running the app right now would be disappointing.
  
  figure.image-display
  
negative.code: 
    We will build a simple form from scratch, one step at a time. Along the way we'll learn
  
    - to build an Angular form with a component and template
  
    - two-way data binding with `[(ngModel)]` syntax for reading and writing values to input controls
  
    - using `ngControl` to track the change state and validity of form controls
  
    - the special CSS classes that `ngControl` adds to form controls and how we can use them to provide strong visual feedback
  
    - displaying validation errors to users and enable/disable form controls
  
    - sharing information among controls with template local variables
    
    [Live Example](/resources/live-examples/forms/ts/plnkr.html)
  .l-main-section
  