如何在Angular 2中更新从属组合
我有两个组合,第二个组合取决于第一个组合。因此,当从第一个组合中选择选项时,应该重新加载第二个组合的选项。但是第二个组合的ng model如何监听第一个组合的ng model的更改并更新Angular 2中的选项列表呢?一种方法是将如何在Angular 2中更新从属组合,angular,angular2-forms,Angular,Angular2 Forms,我有两个组合,第二个组合取决于第一个组合。因此,当从第一个组合中选择选项时,应该重新加载第二个组合的选项。但是第二个组合的ng model如何监听第一个组合的ng model的更改并更新Angular 2中的选项列表呢?一种方法是将(change)事件处理程序附加到第一个组合: template: ` <select [(ngModel)]="c1Selection" #c1 (change)="onChange(c1.value)"> <option *ngFor
(change)
事件处理程序附加到第一个组合:
template: `
<select [(ngModel)]="c1Selection" #c1 (change)="onChange(c1.value)">
<option *ngFor="#v of combo1">{{v}}</option>
</select>
<select [(ngModel)]="c2Selection">
<option *ngFor="#v of combo2">{{v}}</option>
</select>
`
class App {
combo1 = 'one two three'.split(' ');
combo2Map = {
one: '1 11 111'.split(' '),
two: '2 22 222'.split(' '),
three: '3 33 333'.split(' ')
};
c1Selection = 'one';
c2Selection = '';
combo2 = this.combo2Map[this.c1Selection];
constructor() {}
onChange(c1Value) {
this.combo2 = this.combo2Map[c1Value];
this.c2Selection = '';
}
}
模板:`
{{v}
{{v}
`
类应用程序{
combo1='一两三'。拆分('');
combo2Map={
一个:“11111”。分开(“”),
两个:“222222”。分开(“”),
三:“33333”。分开(“”)
};
c1选择='一';
c2Selection='';
combo2=this.combo2Map[this.c1选择];
构造函数(){}
onChange(c1值){
this.combo2=this.combo2Map[c1Value];
这个.c2Selection='';
}
}
一种方法是将
(更改)
事件处理程序附加到第一个组合:
template: `
<select [(ngModel)]="c1Selection" #c1 (change)="onChange(c1.value)">
<option *ngFor="#v of combo1">{{v}}</option>
</select>
<select [(ngModel)]="c2Selection">
<option *ngFor="#v of combo2">{{v}}</option>
</select>
`
class App {
combo1 = 'one two three'.split(' ');
combo2Map = {
one: '1 11 111'.split(' '),
two: '2 22 222'.split(' '),
three: '3 33 333'.split(' ')
};
c1Selection = 'one';
c2Selection = '';
combo2 = this.combo2Map[this.c1Selection];
constructor() {}
onChange(c1Value) {
this.combo2 = this.combo2Map[c1Value];
this.c2Selection = '';
}
}
模板:`
{{v}
{{v}
`
类应用程序{
combo1='一两三'。拆分('');
combo2Map={
一个:“11111”。分开(“”),
两个:“222222”。分开(“”),
三:“33333”。分开(“”)
};
c1选择='一';
c2Selection='';
combo2=this.combo2Map[this.c1选择];
构造函数(){}
onChange(c1值){
this.combo2=this.combo2Map[c1Value];
这个.c2Selection='';
}
}
NgModel指令有一个事件ng模型更改,您可以将处理程序附加到该NgModel指令有一个事件ng模型更改,您可以将处理程序附加到该事件ng模型更改