anchor.diff:    ## Two-way binding with NgModel
     When developing data entry forms, we often want to both display a data property and update that property when the user makes changes.
   
  -  The `NgModel` directive serves that purpose, as in this example:
  +  The `[(NgModel)]` two-way data binding syntax makes that easy. Here's an example:
   // #enddocregion ngModel-1
   +makeExample('template-syntax/ts/app/app.component.html', 'NgModel-1')(format=".")
   // #docregion ngModel-2
  
positive.code:   :marked
      The `ngModel` input property sets the element's value property and the `ngModelChange` output property 
      listens for changes to the element's value.
      The details are specific to each kind of element and therefore the `NgModel` directive only works for elements
      that implement one of a few patterns such as the input box's `value` property and `change` event. 
      We can't simply apply `[(ngModel)]` to our custom components unless we write them to conform.
      
  :marked
    That’s an improvement, but it could be better.
  
    We shouldn't have to mention the data property twice. Angular should be able to read the component’s data property and set it
    with a single declaration &mdash; which it can with the `[( )]` syntax:
  // #enddocregion ngModel-5
  +makeExample('template-syntax/ts/app/app.component.html', 'NgModel-1')(format=".")
  
negative.code: :marked
    There’s a story behind this construction, a story that builds on the property and event binding techniques we learned previously.
  
    ### Inside [(ngModel)]
    We could have achieved the same result with separate bindings to
    the `<input>` element's  `value` property and `input` event.
  // #enddocregion ngModel-3
  +makeExample('template-syntax/ts/app/app.component.html', 'without-NgModel')(format=".")
  