angular2表单初体验

1.创建movie模型。

最近对angular2比较感兴趣,跟着官网学习一段,练习了一个表单demo!

src/app/movie.ts文件:

export class Movie{constructor(public id:number,public name:string,public age : string,public hobby?:string){}
}

2.创建表单组件。

src/app/movie-form.component.ts文件:

import {Component} from '@angular/core';
import { Movie } from './movie';@Component({moduleId:module.id,selector:'movie-form',templateUrl:'./movie-form.component.html'
})export class MovieFormComponent{introduce = ['小城之春', '音乐之城','疯狂原始人', '里约大冒险'];model = new Movie(18,'July yu',this.introduce[0],'惊天魔盗团故事');submitted = false;onSubmit(){this.submitted = true;}get disgnostic(){return  JSON.stringify(this.model);}newMovie() {this.model = new Movie(42, '', '');}
}

3.定义应用的根模块。

src/app/app.module.ts文件:

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule }   from '@angular/forms';import { AppComponent }  from './app.component';
import { MovieFormComponent } from './movie-form.component';@NgModule({imports:      [ BrowserModule , FormsModule],declarations: [ AppComponent , MovieFormComponent],bootstrap:    [ AppComponent ]
})
export class AppModule { }

4.创建根组件。

src/app/app.component.ts文件:

import { Component } from '@angular/core';@Component({selector: 'my-app',template: '<movie-form></movie-form>'
})export class AppComponent { }

5.创建表单模板。

src/app/movie-form.component.html文件:

<div class="container"><div [hidden]="submitted"><h1>Movie Form</h1><form (ngSubmit)="onSubmit()" #movieForm="ngForm"><div class="form-group"><label for="name">Name</label><input type="text" class="form-control" id="name" required [(ngModel)]="model.name" name="name" #name="ngModel"><div [hidden]="name.valid || name.pristine" class="alert alert-danger">Name is required</div></div><div class="form-group"><label for="hobby">Alter hobby</label><input type="text" class="form-control" id="hobby" [(ngModel)]="model.hobby" name="hobby"></div><div class="form-group"><label for="intro">Movie introduce</label><select class="form-control" id="intro" required [(ngModel)]="model.introduce" name="intro" #intro="ngModel"><option *ngFor="let i of introduce" [value]="i">{{i}}</option></select><div [hidden]="intro.valid || intro.pristine" class="alert alert-danger">Power is required</div></div><button type="submit" class="btn btn-success" [disabled]="!movieForm.form.valid">Submit</button><button type="button" class="btn btn-default" (click)="newMovie(); movieForm.reset()">New Movie</button></form></div><div [hidden]="!submitted"><h2>You submitted the following:</h2><div class="row"><div class="col-xs-3">Name</div><div class="col-xs-9  pull-left">{{ model.name }}</div></div><div class="row"><div class="col-xs-3">Alter hobby</div><div class="col-xs-9 pull-left">{{ model.hobby }}</div></div><div class="row"><div class="col-xs-3">introduce</div><div class="col-xs-9 pull-left">{{ model.introduce }}</div></div><br><button class="btn btn-primary" (click)="submitted=false">Edit</button></div>
</div>

posted @ 2017-03-22 17:07 _只鱼 阅读( ...) 评论( ...) 编辑 收藏

angular2表单初体验相关推荐

  1. JeecgBoot学习_Online表单初体验

    JeecgBoot学习Online表单初体验 在这几个地方改起来 在页面属性里选择类型 再建一个商品表 为了使得选择有树形结构 我们修改这两处 备注: 1.字典table 填写树控件对应的表名 { 例 ...

  2. Angular2+ 表单主动触发验证

    Angular2+ 表单主动触发验证 场景 比如用户点击保存按钮后要直接触发验证,显示所有不合法的item. 我这边用的是angular的响应式表单. html部分 <form [formGro ...

  3. html注册表单用户体验,入口的用户体验!注册表单的设计技巧

    网上挤满了各种各样的UI设计方案,事实上我们已经有一套套的方案可遵循.但!设计永无止境!哪怕是一个注册表单,也值得再细心研究.下面给出注册表单设计5个小技巧: 1.别让用户重复填写相同的内容 几乎每个 ...

  4. angular2 表单回车提交

    angular2 的提交事件(模板驱动表单的ngsubmit和响应式表单的submit)都会去监控button 的事件类型和状态    默认按回车也是提交,但是前提得有button 因为angular ...

  5. angular2 表单

    2019独角兽企业重金招聘Python工程师标准>>> 表单都有一个对应的数据模型来存储表单的数据 , 在angular中数据模型是由angular基于你组件模板中的指令隐式创建的. ...

  6. angular2表单异步验证

    工作上解决的一种异步方法,angular8都发布了,也没去看 官方网站:https://angular.io/features 阿里的框架:https://ng.ant.design/docs/rec ...

  7. 3个表单设计的最佳技巧

    以下内容由Mockplus团队翻译整理,仅供学习交流,Mockplus是更快更简单的原型设计工具 本文简述了设计师.商人甚至每个人对表单设计的一点想法. 表单是我们日常生活的一部分,但说实话,填写表单 ...

  8. Graphql 初体验 第十一章 | #13 Hitting the API(实现了登录注册表单)

    对应内容:#13 Hitting the API | Build a Complete App with GraphQL, Node.js, MongoDB and React.js 主要内容: 完成 ...

  9. Django中的表单如何使用? Django如何验证前端发来的数据? ✧*。٩(ˊᗜˋ*)و✧*。 Django初体验

    文章目录 前期准备 前端准备 表单基础使用 创建表单 表单类型 Field CharField(Field) IntergerField(Field)与 FloatField(Filed) Decim ...

最新文章

  1. TensorFlow中的Fashion MNIST图像识别实战
  2. 使用svn控制系统的优缺点和注意事项
  3. 详解语句srcImage(cv::Rect(xRoi,yRoi,widthRoi,heightRoi)).copyTo(roiImage);
  4. 嵌入式开发试题1-100
  5. NuGet学习笔记(1)——初识NuGet及快速安装使用
  6. LeetCode(637)——二叉树的层平均值(JavaScript)
  7. php商品秒杀时间代码,Thinkphp5+Redis实现商品秒杀代码实例讲解
  8. 【渝粤教育】广东开放大学 跨文化商务沟通 形成性考核 (39)
  9. 看完这篇还不了解 Nginx,那我就哭了!
  10. mysql常用的存储过程_MySQL存储过程的基本函数
  11. 【ACM-ICPC 2018 南京赛区网络预赛】Magical Girl Haze【分层图】
  12. webqq linux,Ubuntu下WebQQ桌面化替代方案完美版
  13. 仿真建模与仿真程序设计 Python
  14. MapReduce: 大规模集群上的简化数据处理
  15. Gastroenterology:益生菌长双歧杆菌NCC3001能降低抑郁评分并改变大脑活动
  16. 开源硬件的舞者--WIZnet
  17. 野火指南者移植hal+rtthread+lvgl
  18. html中两个日期相减,在Excel中如何让两个时间相减?
  19. HC-05蓝牙模块AT指令设置教程
  20. iOS 常用第三方库及插件

热门文章

  1. 使用哈工大LTP测试分词并且增加自定义字典
  2. 腾讯T3亲自讲解!Android开发者跳槽面试,建议收藏
  3. java-readLine()用法
  4. 使用redis批量生成主键ID
  5. 【玩转yolov5】之anchor匹配策略(build_targets)分析(1)
  6. bazel 链接_如何使用bazel build
  7. 【前端实例代码】使用 HTML CSS实现指纹扫描仪特效动画效果 |前端开发 网页制作 基础入门教程 网页开发中常见的样式与特效,收藏起来肯定用的上~
  8. 十问大数据到底为何物?
  9. web前端控制器拦截路径的url-pattern写 / 与 /* 的区别
  10. 成都黑马java怎么样_成都黑马JavaEE02期——我的黑马之旅