anchor.diff:      Almost always refers to [Data Binding](#data-binding) and the act of
       binding an HTML object property to a data object property.
   
  -    几乎都是指的数据绑定[Data Binding](#data-binding)和将一个HTML对象属性绑定到一个数据对象属性的行为。
  +    几乎都是指的[数据绑定](#data-binding)和将一个HTML对象属性绑定到一个数据对象属性的行为。
   
       May refer to a [Dependency Injection](#dependency-injection) binding
       between a "token" or "key" and a dependency [provider](#provider).
       This more rare usage should be clear in context.
   
  -    有可能指的是依赖注入[Dependency Injection](#dependency-injection)在一个标志(Token)或钥匙(Key)和一个依赖提供商Dependency [provider](#provider)之间的绑定。
  +    有可能指的是[依赖注入](#dependency-injection)在一个符记(Token)或钥匙(Key)和一个[依赖提供商](#provider)之间的绑定。
       这个用法很少，而且一般都应该在上下文中明确标示。
   
   :marked
  
positive.code:      
      Learn more about data binding in the
      [Template Syntax](guide/template-syntax.html#data-binding) chapter.
      到[模板语法Template Syntax](guide/template-syntax.html#data-binding)章节获取更多关于数据绑定的知识。
  
  // #enddocregion d1
  <a id="decorator"></a> <a id="decoration"></a>
  :marked
    ## Decorator | Decoration
  .l-sub-section
    :marked
      A Decorator is a **function** that adds metadata to a class, its members (properties, methods) and function arguments.
  
      Decorators are a JavaScript language [feature](https://github.com/wycats/javascript-decorators), implemented in TypeScript and proposed for ES2016 (AKA ES7).
  
      We apply a decorator by positioning it
      immediately above or to the left of the thing it decorates.
  
      Angular has its own set of decorators to help it interoperate with our application parts.
      Here is an example of a `@Component` decorator that identifies a
      class as an Angular [Component](#component) and an `@Input` decorator applied to a property
      of that component.
      The elided object argument to the `@Component` decorator would contain the pertinent component metadata.
      ```
      @Component({...})
      export class AppComponent {
  
negative.code:     Applications display data values to a user and respond to user
      actions (clicks, touches, keystrokes).
  
      应用程序一般将数据展示给用户，并对用户的操作（点击、触屏、按键）做出回应。
      
      We could push application data values into HTML, attach
      event listeners, pull changed values from the screen, and
      update application data values ... all by hand.
      
      我们可以自己处理这些操作：将数据显示到HTML网页，添加事件监听器，从屏幕获取数据变化，然后更新数据等等。。。
  
      Or we could declare the relationship between an HTML widget
      and an application data source ... and let a data binding
      framework handle the details.
      
      或者，我们可以声明HTML小部件和数据源的关系...，让一个数据绑定框架工具来处理所有细节。
  
      Data Binding is that second approach. Angular has a rich
      data binding framework with a variety of data binding
      operations and supporting declaration syntax.
      
      数据绑定是第二种方法。Angular有一个非常强大的数据绑定框架工具，具有多种用来数据绑定的操作，并支持声明语法规则。
  
       The many forms of binding include:
       * [Interpolation](guide/template-syntax.html#interpolation)
  