anchor.diff:  :marked
     We'll extend our directive class with a bindable **input** `highlightColor` property and use it when we highlight text.
     
  -  我们将给指令类增加一个可绑定**输入**属性`highlightColor`，当我们需要高亮文本的时候，就用它。
  +  我们将给指令类增加一个可绑定**输入**属性`highlightColor`，当需要高亮文本的时候，就用它。
   
     Here is the final version of the class:
     
  
positive.code:   Earlier we declared the `highlightColor` property to be an ***input*** property of our
    `HighlightDirective`
    
    我们前面曾把`highlightColor`定义为`HighlightDirective`指令的一个***input***属性。
   
    We've seen properties in bindings before. 
    We never had to declare them as anything. Why now?
    
    我们以前也见过属性绑定，但我们从没有定义过它们。为什么现在就不行了？
    
    Angular makes a subtle but important distinction between binding **sources** and **targets**.
    
  
negative.code:   That could really mess up our directive in ways we didn't anticipate and have no desire to support.
    
    出乎意料的是，有些人(可能因为太天真)开始绑定到这个指令中的*每一个*属性。
    不仅仅只是我们预期为绑定目标的那一两个属性，而是*每一个*。
    这可能会扰乱指令的工作方式 —— 我们既不想这样做也不想支持他们这样做。
    
    The *input* declaration ensures that consumers of our directive can only bind to
    the properties of our public API ... nothing else.
    
    于是，这种*输入*声明可以确保指令的消费者只能绑定到公开API中的属性，其它的都不行。
  