anchor.diff:      除非写一个合适的*值访问器*，否则我们不能把`[(ngModel)]`用在我们自己的自定义组件上。但*值访问器*技术超出了本章的范围。
   :marked
     Separate `ngModel` bindings is an improvement. We can do better.
  -
  +  
     把`ngModel`绑定分离开是一个提升，但我们还能做得更好。
   
     We shouldn't have to mention the data property twice. Angular should be able to capture the component’s data property and set it
     with a single declaration &mdash; which it can with the `[( )]` syntax:
  -
  +  
     我们不该两次引用这个数据属性。Angular应该能捕获组件的数据属性，并且把它设置为一个简单的定义 —— 那就用`[( )]`语法吧：
  -
   +makeExample('template-syntax/ts/app/app.component.html', 'NgModel-1')(format=".")
   
   .l-sub-section
  
positive.code:   as we’re doing in the interpolation.
    We can also pass the variable in a binding to a component element,
    as we're doing with `hero-detail`.
  
    我们在模板中使用这个变量来访问英雄的属性，就像在插值表达式中所做的那样。
    我们也可以把这个变量传给组件元素上的一个绑定，就像我们对`hero-detail`所做的那样。
  
  
negative.code:   ## 属性(Property)绑定
    We write a template **property binding** when we want to set a property of a view element to the value of
    a [template expression](#template-expressions).
    
    当要把一个视图元素的属性设置为[模板表达式](#template-expressions)时，我们就要写模板的**属性绑定**。
  
    The most common property binding sets an element property to a component property value. An example is
    binding the `src` property of an image element to a component’s `heroImageUrl` property:
    
    这种最常用的属性绑定会把元素的属性设置为组件中属性的值。
    下面这个例子中，会把image元素的`src`属性绑定到组件的`heroImageUrl`属性上：
  +makeExample('template-syntax/ts/app/app.component.html', 'property-binding-1')(format=".")
  :marked
    Another example is disabling a button when the component says that it `isUnchanged`:
    
    另一个例子是当组件说它`isUnchanged`（未改变）时禁用一个按钮：
  +makeExample('template-syntax/ts/app/app.component.html', 'property-binding-2')(format=".")
  :marked
    Another is setting a property of a directive:
    
    另一个例子是设置指令的属性：
  +makeExample('template-syntax/ts/app/app.component.html', 'property-binding-3')(format=".")
  :marked
    Yet another is setting the model property of a custom component (a great way
    for parent and child components to communicate):
    
    还有另一个例子是设置一个自定义组件的模型属性（这是父子组件之间通讯的重要途径）：
  +makeExample('template-syntax/ts/app/app.component.html', 'property-binding-4')(format=".")
  :marked
    ### One-way *in*
    ### 单向*输入*
    People often describe property binding as *one-way data binding* because it flows a value in one direction,
    from a component’s data property into a target element property.
    
    人们经常把属性绑定描述成*单向数据绑定*，因为值的流动是单向的，从组件中的属性数据，流动到目标元素的属性。
  
    We cannot use property binding to pull values *out* of the target element.
    We can't bind to a property of the target element to read it. We can only set it.
    
    我们不能使用属性绑定来从目标元素拉取值，也不能绑定到目标元素的属性来读取它。我们只能设置它。
  
  .l-sub-section
    :marked
      Nor can we use property binding to *call* a method on the target element.
      
      我们也不能使用属性绑定来*调用*目标元素上的方法。
  
      If the element raises events we can listen to them with an [event binding](#event-binding).
      
      如果这个元素触发了事件，我们可以通过[事件绑定](#event-binding)来监听它们。
  
      If we must read a target element property or call one of its methods,
  