anchor.diff:      Go back to the `HeroesComponent` and **remove the `HeroService`** from its `providers` array.
       We are *promoting* this service from the `HeroesComponent` to the `AppComponent`.
       We ***do not want two copies*** of this service at two different levels of our app.
  -    
  +
       回到`HeroesComponent`，并从`providers`数组中**移除`HeroService`**。
       我们要把它从`HeroesComponent`*提升*到`AppComponent`中。
       我们可不希望在应用的两个不同层次上存在它的***两个副本***。
  -    
  +
   :marked
     The app still runs and still displays heroes.
     Our refactoring of `AppComponent` into a new `AppComponent` and a `HeroesComponent` worked!
  
positive.code: .l-main-section
  :marked
    ## Recap
    
    ## 总结
  
    ### The Road Behind
    
    ### 走过的路
    
    We travelled a great distance in this chapter.
    
    在本章中，我们往前走了很远：
    
    - We added the Angular *Component Router* to navigate among different components.
    
    - 我们添加了Angular*组件路由器*在各个不同组件之间导航。
    
    - We learned how to create router links to represent navigation menu items.
    
    - 我们学会了如何创建路由链接来表示导航栏的菜单项。
    
    - We used router parameters to navigate to the details of user selected hero.
    
    - 我们使用路由参数来导航到用户所选的英雄详情。
    
    - We shared the `HeroService` among multiple components.
    
    - 我们在多个组件之间共享了`HeroService`服务。
    
    - We moved HTML and CSS out of the component file and into their own files.
    
    - 我们把HTML和CSS从组件中移出来，放到了它们自己的文件中。
    
    - We added the `uppercase` pipe to format data.
    
    - 我们添加了一个`uppercase`管道，来格式化数据。
  
    ### The Road Ahead
    
    ### 前方的路
    
    We have much of the foundation we need to build an application.
    We're still missing a key piece: remote data access. 
    
    我们有了很多用于构建应用的基石。
    但我们仍然缺少很关键的一块儿：远程数据存取。
    
    In the next chapter, 
    we’ll replace our mock data with data retrieved from a server using http.
    
    在下一章，我们将从硬编码模拟数据改为使用http服务从服务器获取数据。
  
  
negative.code: 
  :marked
    ## Add a *Dashboard*
  
    ## 添加一个*仪表盘*
  
    Routing only makes sense when we have multiple views. We need another view.
  
    当我们有多个视图的时候，路由才有意义。所以我们需要另一个视图。
  
    Create a placeholder `DashboardComponent` that gives us something to navigate to and from.
  
    先创建一个`DashboardComponent`的占位符，让我们可以导航到它或从它导航出来。
  
  +makeExample('toh-5/ts/app/dashboard.component.1.ts',null, 'app/dashboard.component.ts (v1)')(format=".")
  :marked
    We’ll come back and make it more useful later.
  
    我们先不实现它，稍后，我们再回来，给这个组件一些实际用途。
  
    ### Configure the dashboard route
  
    ### 配置仪表盘路由
  
    Go back to `app.routes.ts` and teach it to navigate to the dashboard.
  
    回到`app.routes.ts`文件，我们得教它如何导航到这个仪表盘。
  
    Import the `DashboardComponent` so we can reference it in the dashboard route definition.
  
    先导入`DashboardComponent`类，这样我们就可以在仪表盘的路由定义中引用它了。
  
    Add the following `'Dashboard'` route definition to the `RouterConfig` array of definitions.
  
    然后把下列`'Dashboard'`路由的定义添加到`@RouteConfig`数组中。
  
  +makeExample('toh-5/ts/app/app.routes.1.ts','dashboard-route', 'app/app.routes.ts (Dashboard route)')(format=".")
  
  .l-sub-section
  