首页 > 代码库 > angular2表单初体验
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>
angular2表单初体验
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。