anchor.diff:    We access the template with a `TemplateRef`.  The renderer is a `ViewContainerRef`.
     We inject both into our constructor as private variables.
   
  -  我们需要访问模板，并且*还*需要个渲染器来渲染它的内容。
  -  我们通过`TemplateRef`来访问模板。而渲染器就是`ViewContainerRef`。
  +  我们需要访问模板，并且*还*需要一个渲染器来渲染它的内容。
  +  我们通过`TemplateRef`来访问模板。渲染器是`ViewContainerRef`。
     我们把它们都作为私有变量注入到构造函数中。
   
   +makeExample('structural-directives/ts/app/unless.directive.ts', 'unless-constructor')(format=".")
  
positive.code:   Unlike `ngIf` which displays the template content when `true`,
    our directive displays the content when the condition is ***false***.
  
    与`ngIf`当条件为`true`时才显示模板内容不同，我们这个指令只有当条件是***false***时才显示这些内容。
  
  block unless-intro
    :marked
  
negative.code:   using the built-in `ngOnInit` and `ngOnDestroy` [lifecycle hooks](lifecycle-hooks.html).
    Here it is in action:
  
    借助内建的`ngOnInit`和`ngOnDestroy`[生命周期钩子](lifecycle-hooks.html)，我们同时记录了组件的创建或销毁过程。
    下面是它的操作效果：
  
  figure.image-display
  