anchor.diff:     The hero application process involves a form with a lot of questions. 
      The "question" is the most fundamental object in the model.
      
  -   第一步是定义一个对象模型，用来描述所有表单功能需要的场景。英雄申请流程涉及到一个有很多问卷问题的表单。问卷问题是最基础的对象模型。
  +   第一步是定义一个对象模型，用来描述所有表单功能需要的场景。英雄申请流程涉及到一个包含很多问卷问题的表单。问卷问题是最基础的对象模型。
   
      We have created `QuestionBase` as the most fundamental question class.
      
  -   下面是我们建立的非常基础的问卷问题类，名叫`QuestionBase`。
  +   下面是我们建立的非常基础的问卷问题基础类，名叫`QuestionBase`。
   
   +makeExample('cb-dynamic-form/ts/app/question-base.ts','','app/question-base.ts')
   
  
positive.code:   The `<df-question>` tag matches the `DynamicFormQuestionComponent`,
    the component responsible for rendering the details of each _individual_ question based on values in the data-bound question object.  
    
    它显示一个问卷问题的列表，每个问题都在`<df-question>`组件元素之内。`<df-question>`对应于`DynamicFormQuestionComponent`，该组件的作用是根据问卷问题对象的值来渲染每个问卷问题的细节。
    
  +makeTabs(
    `cb-dynamic-form/ts/app/dynamic-form-question.component.html,
  
negative.code:    Next we have defined `QuestionControlService`, a simple service for transforming our questions to an ngForm control group. 
     In a nutshell, the control group consumes the metadata from the question model and allows us to specify default values and validation rules.
     
     接下来，我们定义了`QuestionControlService`，一个可以把我们的问卷问题转换为ngForm控制群的服务。
     简而言之，这个ngForm控制群使用问卷模型的元数据，允许我们设置默认值和验证规则。
     
  +makeExample('cb-dynamic-form/ts/app/question-control.service.ts',null,'app/question-control.service.ts')(format='.')
  
  <a id="form-component"></a>
  