anchor.diff:    在继续往下走之前，我们先理解一下*纯*和*非纯*之间的区别，从*纯*管道开始。
   
     ### Pure pipes
  +  
     ### 纯管道
   
     Angular executes a *pure pipe* only when it detects a *pure change* to the input value.
  
positive.code:   The companion component class provides heroes, adds heroes into the array, and can reset the array.
  
    和模板相伴的组件类可以提供英雄数组，能把新的英雄添加到数组中，还能重置英雄数组。
  +makeExample('pipes/ts/src/app/flying-heroes.component.ts', 'v1', 'src/app/flying-heroes.component.ts (v1)')(format='.')
  
  :marked
  
negative.code: 
      `transform`方法是管道的基本要素。
      `PipeTransform`*接口*中定义了它，并用它指导各种工具和编译器。
      理论上说，它是可选的。Angular不会管它，而是直接查找并执行`transform`方法。
  
  :marked
    Now you need a component to demonstrate the pipe.
  
    现在，我们需要一个组件来演示这个管道。
    
  +makeExample('pipes/ts/src/app/power-booster.component.ts',null,'src/app/power-booster.component.ts')(format='.')
  
  figure.image-display
    img(src='/resources/images/devguide/pipes/power-booster.png' alt="Power Booster")
  
  