Angular 2 表单模型绑定

上一章节中我们已经学习了如何用组件和模板构建一个 angular 表单

但这个表单还没有和我们的模型进行绑定,本章我们就来完善这些功能

我们使用 ngModel 进行双向数据绑定,通过监听 dom 事件,来实现更新组件的属性

修改 app/site-form.component.html ,使用 ngModel 把我们的表单绑定到模型

<div class="container">
    <h1>网站表单</h1>
    <form>
      {{diagnostic}}
      <div class="form-group">
        <label for="name">网站名</label>
       <input type="text" class="form-control" id="name"
         required
         [(ngModel)]="model.name" name="name">
      </div>
      <div class="form-group">
        <label for="alexa">alexa 排名</label>
         <input type="text"  class="form-control" id="alexa"
         [(ngModel)]="model.alexa" name="alexa">
      </div>
      <div class="form-group">
        <label for="url">网站 URL </label>
        <select class="form-control"  id="url"
                required
                [(ngModel)]="model.url" name="url">
          <option *ngFor="let p of urls" [value]="p">{{p}}</option>
        </select>
      </div>
      <button type="submit" class="btn btn-default">提交</button>
    </form>
</div>

上面的代码

  1. 每一个 input 元素都有一个 id 属性,它被 label 元素的 for 属性用来把标签匹配到对应的 input

  2. 每一个 input 元素都有一个 name 属性, Angular 的表单模块需要使用它为表单注册控制器

  3. {{diagnostic}} 只是用于测试时候输出数据使用

刷新浏览器,我们可以看到如下输出内容。

链接: https://fly63.com/course/15_845