• 模版驱动表单

    模版驱动表单

    在Angular 2中构建表单最直接的方法是利用为您提供的指令。

    首先,考虑一个典型的表单:

    1. <form method="POST" action="/register" id="signup-form">
    2. <label for="email">Email</label>
    3. <input type="text" name="email" id="email">
    4. <label for="password">Password</label>
    5. <input type="password" name="password" id="password">
    6. <button type="submit">Sign Up</button>
    7. </form>

    Angular 2已经为你提供了一个form指令,并形成在封面下操作的相关指令,如输入等。 对于基本的实现,我们只需要添加一些属性,并确保我们的组件知道如何处理数据。

    index.html

    1. <signup-form>Loading...</signup-form>

    signup-form.component.html

    1. <form #signupForm="ngForm" (ngSubmit)="registerUser(signupForm)">
    2. <label for="email">Email</label>
    3. <input type="text" name="email" id="email" ngModel>
    4. <label for="password">Password</label>
    5. <input type="password" name="password" id="password" ngModel>
    6. <button type="submit">Sign Up</button>
    7. </form>

    signup-form.component.ts

    1. import { Component } from '@angular/core';
    2. import { NgForm } from '@angular/forms';
    3. @Component({
    4. selector: 'app-signup-form',
    5. templateUrl: 'app/signup-form.component.html',
    6. })
    7. export class SignupFormComponent {
    8. registerUser(form: NgForm) {
    9. console.log(form.value);
    10. // {email: '...', password: '...'}
    11. // ...
    12. }
    13. }