anchor.diff:    # Component Lifecycle
     A Component has a lifecycle managed by Angular itself. Angular creates it, renders it, creates and renders its children,
     checks it when its data-bound properties change, and destroys it before removing it from the DOM.
  -  
  +
     Angular offers **Lifecycle hooks**
     that give us visibility into these key moments and the ability to act when they occur.
  -  
  +
     We cover these hooks in this chapter and demonstrate how they work in code.
  -  
  +
     [Live Example](/resources/live-examples/lifecycle-hooks/ts/plnkr.html)
  -  
  +
     <!--
       https://github.com/angular/angular/blob/master/modules/angular2/src/core/linker/interfaces.ts
     -->
  
positive.code:   * `ngAfterViewInit` - after component's view(s) are initialized
    * `ngAfterViewChecked` - after every check of a component's view(s)
    * `ngOnDestroy` - just before the directive is destroyed.
   
    The [live example](/resources/live-examples/lifecycle-hooks/ts/plnkr.html) demonstrates
    these hooks.
  
  
negative.code: 
    No directive or component will implement all of them and some of them only make
    sense for components.
  
    Each interface has a single hook method whose name is the interface name prefixed with `ng`.
    For example, the `OnInit` interface has a hook method named `ngOnInit`.
  
    Angular calls these hook methods in the following order:
    * `ngOnChanges` - called when an input or output binding value changes
    * `ngOnInit` - after the first `ngOnChanges`
  