anchor.diff:    Although the `HeroDetailComponent` has a delete button it doesn't know how to delete the hero itself.
     The best it can do is raise an event reporting the user's delete request.
     
  -  考虑一个`HeroDetailComponent`，它展示英雄的信息，并响应用户的动作。
  +  假设一个`HeroDetailComponent`，它展示英雄的信息，并响应用户的动作。
     虽然`HeroDetailComponent`有一个删除按钮，但它自己并不知道该如何删除这个英雄。
  -  最好的做法是触发一个事件来报告用户“要求删除”。
  +  最好的做法是触发一个事件来报告“删除用户”的请求。
   
     Here are the pertinent excerpts from that `HeroDetailComponent`:
     
  
positive.code: 
    If the event belongs to a directive (remember: components are directives), `$event` has whatever shape the directive chose to produce.
    
    如果这个事件属于指令（记住：组件是指令的一种），那么`$event`可以具有指令想生成的任何形态。
  
    <a id="eventemitter"></a>
    <a id="custom-event"></a>
  
negative.code:   It destroys components in the subtree, along with their state, potentially freeing up substantial resources and
    resulting in better performance for the user.
    
    当`NgIf`为`false`时，Angular从DOM中实际移除了这个元素的子树。
    它销毁了子树中的组件及其状态，也潜在释放了可观的资源，最终让用户体验到更好的性能。
  
    The show/hide technique is probably fine for small element trees.
  