anchor.diff:      Note how the `switchMap` operator maps the id in the observable route parameters
       to a new `Observable`, the result of the `HeroService.getHero` method.
   
  -    注意`switchMap`运算符如何将可观察的路由参数中的id映射到一个新的`Observable`，
  +    注意`switchMap`运算符如何将可观察的路由参数中的 id 映射到一个新的`Observable`，
       即`HeroService.getHero`方法的结果。
   
       If the user re-navigates to this component while a getHero request is still inflight,
       switchMap cancels that old request before calling `HeroService.getHero` again.
   
  -    如果用户在getHero请求执行的过程中再次导航这个组件，switchMap再次调用`HeroService.getHero`之前，
  +    如果用户在 getHero 请求执行的过程中再次导航这个组件，switchMap 再次调用`HeroService.getHero`之前，
       会取消之前的请求。
   
   - var _str2int = _docsFor == 'dart' ? '<code>int.parse</code> static method' : 'JavaScript (+) operator'
  
positive.code:   So we convert the route parameter value to a number with the !{_str2int}.
  
    英雄的`id`是数字，而路由参数的值*总是字符串*。
    所以我们需要通过JavaScript的(+)操作符把路由参数的值转成数字。
  
  +ifDocsFor('ts')
  .l-sub-section
  
negative.code:   we want to see a nice URL in the browser address bar that says `/dashboard`.
    Remember that the browser launches with `/` in the address bar.
  
    我们希望在应用启动的时候就显示仪表盘，而且我们希望在浏览器的地址栏看到一个好看的 URL，比如`/dashboard`。
    记住，浏览器启动时，在地址栏中使用的路径是`/`。
  
  block redirect-vs-use-as-default
  