• ng2——表单提交


    angular作为前端框架当然离不开htmlform表单,下边是我在学习的过程中对ng2表单中的应用

    首先是声明一个类

    export class Hero {
      constructor(
        public id:number,
        public name:string,
        public power:string,
        public alertEgo?: string){ }
    }

    然后定义组件,且定义组件内需要使用的数据模型对象

    /*index.ts*/
    import {Component} from '@angular/core';
    import {Hero} from '../../hero';
    
    @Component({
      selector:'test-form',
      templateUrl: 'app/pages/forms/index.html'
    })
    
    export class TestForm{
      powerList = ['yi','er','san','si','wu'];
      model = new Hero(123,'happen','yi','testMsg');
    }

    然后是界面

    <form (ngSublime)="onSublime()" #testForm="ngForm">
      <div class="form-group">
        <label for="name">Name</label>
        <input type="text" class="form-control" id="name" required [(ngModel)]="model.name" name="name" #spy #name="ngModel">
        <!-- 这里#name设置为ngmodel  指令的exportAs属性告诉angular如何链接模板引用变量到指令
      这里是把exportAs属性设置为ngModel -->
        {{model.name}}
        <!-- 该处用于界面内错误信息的认证 -->
        <p [hidden]="name.valid || name.pristine">姓名不能为空</p>
      </div>
      <div class="form-group">
        <label for="alterEgo">Alter Ego</label>
        <input type="text" name="alterEgo" id="alterEgo" [(ngModel)]="model.alertEgo" class="form-control"> {{model.alertEgo}}
      </div>
      <div class="form-group">
        <label for="power">Power</label>
        <select class="form-control" id="power" name="power" [(ngModel)]="model.power" required>
          <option *ngFor="let item of powerList" [value]="item">{{item}}</option>
        </select>
        {{model.power}}
      </div>
      <div class="form-group">
        <!-- 该处通过表单的验证来判断提交按钮的现实隐藏 -->
        表单是否可以提交{{testForm.form.valid}}
        <button type="submit" [disabled]="!testForm.form.valid">Submit</button>
      </div>
    </form>
  • 相关阅读:
    第08组 Alpha冲刺(1/4)
    第08组 团队Git现场编程实战
    第二次结对编程作业
    团队项目-需求分析报告
    团队项目-选题报告
    第一次结对编程作业
    第一次个人编程作业
    第一次实践作业
    互联网协议学习笔记
    【选修建模的小练习】长方形椅子的稳定性探究
  • 原文地址:https://www.cnblogs.com/happen-/p/6402090.html
Copyright © 2020-2023  润新知