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

Angular2 select用法-设置默认值和事件

2017-12-12 00:00 691 查看
设置默认值:
现在有三个学生小明,小红,小黑,对双向绑定的student设置你想要的select值就可以在下拉框默认选中
code1:
设置”请选择”为默认项,只需要把变量student设置为‘’,即可默认到“请选择”
方案1:

TS:
students:string[]=['xiaoming','xiaohong','xiaohei'];
student:string='';

HTML:
<select [(ngModel)]="student">
<option value="">请选择</option> //此处用的是value,而不是[value]
<option *ngFor="let item of students" [value]='item'>{{item}}</option>
</select>


1

2

3

4

5

6

7

8

9

方案2:

TS:
students:string[]=['','xiaoming','xiaohong','xiaohei'];
student:string='';

HTML:
<select [(ngModel)]="student">
<option *ngFor="let item of students" [value]='item'>{{item || '请选择'}}</option>
</select>


1

2

3

4

5

6

7

8

code2:
当需要设置默认值到xiaoming时,只需要将变量student的初始值设为“xiaoming”

TS:
students:string[]=['xiaoming','xiaohong','xiaohei'];
student:string='xiaoming';

HTML:
<select [(ngModel)]="student">
<option *ngFor="let item of students" [value]='item'>{{item}}</option>
</select>


1

2

3

4

5

6

7

8

绑定事件
select下拉框主要通过ngModel和ngModelChange实现选择事件
如果你想要在select下拉框选中某一项时触发事件,可以将[(ngModel)]拆成ngModel和ngModelChange来实现

TS:
students:string[]=['xiaoming','xiaohong','xiaohei'];
student:string='';
info:string='';
setInfo(){
this.info=student;
}

HTML:
<select [ngModel]="student" (ngModelChange)="student=$event;setInfo()">
<option value="">请选择</option>
<option *ngFor="let item of students" [value]='item'>{{item}}</option>
</select>
{{info}}


1

2

3

4

5

6

7

8

9

10

11

12

13

14

在属性绑定中,一个值从模型中传到屏幕上的目标属性。 我们通过把名字括在方括号中来标记出目标属性, [] 。 这是一个 从模型到视图 的单向数据绑定。

在事件绑定中,值从屏幕上的目标属性传到模型中。 我们通过把名字括在圆括号中来标记出目标属性, () 。 这是一个 从视图到模型 的反向单向数据绑定。

在Angular2中[(x)] 的绑定目标时,会以x和xChange表示他的输入和输出属性。

代码中
student=$event
原理如下ngModelChange是一个 Angular EventEmitter 类型的属性,当它触发时,它返回的是输入框的值

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