您的位置:首页 > Web前端 > AngularJS

Angular2 Form

2015-07-21 21:24 513 查看

1 basic usage

1 import formDirectives

import {formDirectives} from 'angular2/forms';


2 inject directive into View

directives: [formDirectives]


3 config your form template

template: `<form #f="form" (submit)="onSubmit(f.value)">
<input type="text" ng-control="username" />
<input type="text" ng-control="password"/>
<button type="submit">submit</button>
</form>`,


    take care : 1 #f='form' 2 ng-control

after you submit you will get the result like {username:xx,password:xx}

4 all the code

/**
* Created by Administrator on 2015/7/24.
*/
import {Component,View} from 'angular2/angular2';
import {formDirectives} from 'angular2/forms';
@Component({
selector: 'form-test'
})

@View({
template: `<form #f="form" (submit)="onSubmit(f.value)">
<input type="text" ng-control="username" />
<input type="text" ng-control="password"/>
<button type="submit">submit</button>
</form>`,
directives: [formDirectives]})

export class FormTest {
constructor() {
}

onSubmit(formGroup) {
console.log(formGroup);
}
}


  

2 two-way binding

use [(ng-model)]='xxxx'

@View({
template: `<form #f="form" (submit)="onSubmit(f.value)">
<input type="text" ng-control="username" [(ng-model)]="login.userName"/>
<input type="text" ng-control="password" [(ng-model)]="login.password"/>
<button type="submit">submit</button>
</form>`,
directives: [formDirectives]})


  

3 ng-control-group

@View({
template: `<form #f="form" (submit)="onSubmit(f.value)">
<div ng-control-group="basic">
<input type="text" ng-control="username" [(ng-model)]="login.basic.userName"/>
<input type="text" ng-control="password" [(ng-model)]="login.basic.password"/>
</div>
<div ng-control-group="company">
<input type="text" ng-control="companyname" [(ng-model)]="login.company.companyName"/>
</div>
<button type="submit">submit</button>
</form>`,
directives: [formDirectives]})


  use ng-control-group, you will get the result like

this.login = {
basic: {
userName: 'Jackey',
password: '123'
},
company: {
companyName: ''
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: