anchor.diff:    Soon we'll add a dashboard with the top performing heroes and create a separate view for editing hero details.
     All three views need hero data. 
   
  -  客户向我们描绘了本应用更大的目标。
  -  它们说，想要在不同的页面中用多种方式显示英雄。
  +  客户向我们描绘了本应用更大的目标：想要在不同的页面中用多种方式显示英雄。
     现在我们已经能从列表中选择一个英雄了，但这还不够。
  -  很快，我们将添加一个仪表盘来显示表现最好的英雄，并且创建一个独立视图来编辑英雄的详情。
  -  所有这些视图都需要英雄的数据。
  +  很快，我们将添加一个仪表盘来显示表现最好的英雄，并创建一个独立视图来编辑英雄的详情。
  +  所有这些视图都需要英雄数据。
   
     At the moment the `AppComponent` defines mock heroes for display.
     We have at least two objections.
     First, defining heroes is not the component's job. 
     Second, we can't easily share that list of heroes with other components and views. 
   
  -  目前，`AppComponent`显示的是mock英雄数据。
  -  我们可改进的地方至少有两个：首先，定义英雄的数据不该是组件的任务。其次，想把这份英雄列表的数据共享给其它组件和视图可不那么容易。
  +  目前，`AppComponent`显示的是模拟数据。
  +  至少有两个地方可以改进：
  +  首先，定义英雄的数据不该是组件的任务；
  +  其次，想把这份英雄列表的数据共享给其它组件和视图可不那么容易。
   
     We can refactor this hero data acquisition business to a single service that provides heroes, and
     share that service with all components that need heroes.
   
  -  我们可以把获取英雄数据的任务重构为一个单独的服务，它将提供英雄数据，并且把这个服务在所有需要英雄数据的组件之间共享。
  +  我们可以把获取英雄数据的任务重构为一个单独的服务，它将提供英雄数据，并把服务在所有需要英雄数据的组件间共享。
   
     ### Create the HeroService
   
  -  ### 创建HeroService
  +  ### 创建 HeroService
   
     Create a file in the `app` folder called `hero.service.ts`.
   
  
positive.code:   The `providers` array  tells Angular to create a fresh instance of the `HeroService` when it creates a new `AppComponent`.
    The `AppComponent` can use that service to get heroes and so can every child component of its component tree.
  
    `providers`数组告诉Angular，当它创建新的`AppComponent`组件时，也要创建一个`HeroService`的新实例。
    `AppComponent`会使用那个服务来获取英雄列表，在它组件树中的每一个子组件也同样如此。
  
  a#child-component
  
negative.code:     The [ES2015 arrow function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)
      in the callback is more succinct than the equivalent function expression and gracefully handles *this*.
  
      回调中所用的 [ES2015 箭头函数](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)
      比等价的函数表达式更加简洁，能优雅的处理 *this* 指针。
  
  :marked
    Our callback sets the component's `heroes` property to the array of heroes returned by the service. That's all there is to it!
  
    在回调函数中，我们把服务返回的英雄数组赋值给组件的`heroes`属性。是的，这就搞定了。
  
    Our app should still be running, still showing a list of heroes, and still
    responding to a name selection with a detail view.
  