anchor.diff:          See how Angular calls the `ngOnChanges` hook with a `changes` object
           every time one of the component input properties changes.
           Shows how to interpret the `changes` object.
  +        
  +        
     tr(style=top)
       td <a href="#docheck">DoCheck</a> 
       td
  
positive.code:     td
        :marked
          Initialize the directive/component after Angular initializes the data-bound input properties.
    tr(style=top)
      td ngOnChanges
      td
        :marked
          Respond after Angular sets a data-bound input property. 
          The method receives a `changes` object of current and previous values.
    tr(style=top)
      td ngDoCheck
      td
        :marked
          Detect and act upon changes that Angular can or won't
          detect on its own. Called every change detection run.
    tr(style=top)
      td ngOnDestroy
      td
        :marked
          Cleanup just before Angular destroys the directive/component. 
          Unsubscribe observables and detach event handlers to avoid memory leaks.
  
  :marked
    ### Components only
  
  table(width="100%")
    col(width="20%")
  
negative.code:     td
        :marked
          After Angular projects external content into its view.
          
          在Angular投射外来内容到自己的视图后调用。
    tr(style=top)
      td ngAfterContentChecked
      td
        :marked
          After Angular checks the bindings of the external content that it projected into its view.#
          
          在Angular检查它投射到自己视图的外部内容的绑定后调用。
    tr(style=top)
      td ngAfterViewInit
      td
        :marked
          After Angular creates the component's view(s).
          
          在Angular新建组件的视图后调用。
    tr(style=top)
      td ngAfterViewChecked
      td
        :marked
          After Angular checks the bindings of the component's view(s).
          
          在Angular检查组件视图的绑定后调用。
  :marked
    Angular does not call the hook methods in this order.
    
    Angular不会按照上面的顺序调用这些钩子方法。
  
  a(id="hook-sequence")
  .l-main-section
  :marked
    ## Lifecycle sequence
    
    ## 生命周期顺序
    
    *After* Angular creates a component/directive by `new`-ing its constructor, 
    it calls the lifecycle hook methods in the following sequence at specific moments:
    
    Angular使用构造函数新建一个组件或指令后，它在特定的时刻按照下面的顺序调用生命周期钩子方法@  
  table(width="100%")
    col(width="20%")
    col(width="80%") 
  