anchor.diff:    Now `[(ngModel)]` binding will work and the user input will be validated by Angular Forms,
     once we declare our new component, pipe and directive.
   
  -  一旦我们声明了这些新组件、管道和指令，`[(ngModel)]`绑定就会正常工作，用户的输入也能被Angular表单验证了。
  +  一旦我们声明了这些新组件、管道和指令，`[(ngModel)]`绑定就会正常工作，用户的输入也能被 Angular 表单验证了。
   
   .alert.is-critical
     :marked
  
positive.code: 
    本应用在继续演进中。
    让我们感到不爽的是：这里有`HighlightDirective`的三个不同版本。
    还有一大堆其它乱七八糟的东西堆在app目录这一级，我们得把它们清出去。
  
    Let's add a `SharedModule` to hold the common components, directives, and pipes
    and share them with the modules that need them.
  
    我们添加`SharedModule`来存放这些公共组件、指令和管道，并且共享给那些想用它们的模块。
  
    * create an `app/shared` folder
    * 创建`app/shared`目录
    * move the `AwesomePipe` and `HighlightDirective` from `app/contact` to `app/shared`.
    * 把`AwesomePipe`和`HighlightDirective`从`app/contact`移到`app/shared`中。
    * delete the `HighlightDirective` classes from `app/` and `app/hero`
    * 从`app/`和`app/hero`目录中删除`HighlightDirective`类
    * create a `SharedModule` class to own the shared material
    * 创建`SharedModule`类来管理这些共享的素材
    * update other feature modules to import `SharedModule`
    * 更新启动特性模块，让它们导入`SharedModule`
  
    Most of this is familiar blocking and tackling. Here is the `SharedModule`
  
  
negative.code:   注意：
  
    * The `AwesomePipe` and `HighlightDirective` are gone.
  
      `AwesomePipe`和`HighlightDirective`不见了。
  
    * The imports include `SharedModule` instead of `CommonModule` and `FormsModule`
  
      导入`SharedModule`，不再导入`CommonModule`和`FormsModule`。
  
    * This new version is leaner and cleaner.
  
      这个新版本更加精简和干净了。
  
  .l-hr
  
  