anchor.diff:      The `newHero` template variable refers to the `<input>` element.
       You can reference `newHero` from any sibling or child of the `<input>` element.
   
  +    * **使用模板变量来引用元素** —`newHero`模板变量引用了`<input>`元素。
  +    你可以在`<input>`的任何兄弟或子级元素中使用`newHero`。
  +
       * **Pass values, not elements** &mdash;
       Instead of passing the `newHero` into the component's `addHero` method,
       get the input box value and pass *that* to `addHero`.
  +
  +    * **传递数值，而非元素** — 获取输入框的值并将*它*传递给组件的`addHero`，而不要传递`newHero`。
   
       * **Keep template statements simple** &mdash;
       The `(blur)` event is bound to two JavaScript statements.
       The first statement calls `addHero`.  The second statement, `newHero.value=''`,
       clears the input box after a new hero is added to the list.
  +
  +    * **保持模板语句简单** — `(blur)`事件被绑定到两个 JavaScript 语句。第一句调用`addHero`。第二句`newHero.value=''`在添加新英雄到列表中后清除输入框。
   
   .l-main-section
   :marked
  
positive.code:   Not all elements have a `value` property so it casts `target` to an input element.
    The `OnKey` method more clearly expresses what it expects from the template and how it interprets the event.
  
    ### Passing _$event_ is a dubious practice
    Typing the event object reveals a significant objection to passing the entire DOM event into the method:
    the component has too much awareness of the template details.
    It can't extract information without knowing more than it should about the HTML implementation.
    That breaks the separation of concerns between the template (_what the user sees_)
    and the component (_how the application processes user data_).
  
    The next section shows how to use template reference variables to address this problem.
  
  .l-main-section
  :marked
  
negative.code:   The next page, `Forms`, explains how to write
    two-way bindings with `NgModel`.
  
    这些技术对小规模演示很实用，但是在处理大量用户输入时很容易变得累赘和笨拙。
    双向数据绑定是更加优雅和简洁的在数据输入区域和模型属性之间传递数据的方式。
    下一页`表单`解释了如何用`NgModel`来进行双向绑定。
  
  
  