У меня нет идеи, как бы поместить выбранное значение в Object или в Array, если я выберу первый уровень селектора. ЗначениеNum будет иметь объект с первым выбранным, и если я выберем второй, у него будет два разных номера внутри разделенные селектора, но все же одно имя ngModel. Мне нужен этот способ для динамических селекторов, которые я получаю от ng-for. Вот мой код:Angular2 ngModel select
//our root app component
import {Component, Directive, Output, EventEmitter, Input, SimpleChange} from 'angular2/core'
import {Observable} from 'rxjs/Observable';
import {Observer} from 'rxjs/Observer';
//import 'rxjs/Rx';
@Component({
selector: 'my-app',
template:`
<h1>Selecting Number</h1>
<select type="number" [(ngModel)]="levelNum" (ngModelChange)="toNumber()">
<option *ngFor="let level of levels" [ngValue]="level.num">{{level.name}}</option>
</select>
<select type="number" [(ngModel)]="levelNum" (ngModelChange)="toNumber()">
<option *ngFor="let level of levels" [ngValue]="level.num">{{level.name}}</option>
</select>
{{levelNum}}
`,
})
export class AppComponent {
levelNum: any;
levels:Array<Object> = [
{num: 0, name: "AA"},
{num: 1, name: "BB"}
];
toNumber(){
this.levelNum = +this.levelNum;
console.log(this.levelNum);
}
}
проверить, какой тип объекта является this.levelNum в ваша функция toNumber – jmachnik
, если я изменяю тип переменной в Array, все еще ту же проблему, она всегда получает только последний выбранный элемент из любого селектора, но он должен нажать выбранное значение на объект. – user3278890
вы можете предоставить плункер с кодом? Вы понимаете, что обновляете ngModel из кода? – jmachnik