Я новичок в фреймворке Angular 2. Я ценю любую помощь.
У меня есть обычный компонент в angular 2:
import {FORM_DIRECTIVES, FormBuilder, Validators} from 'angular2/common';
export class TestComponent {
public values = ['value1', 'value2', 'value3', 'value4'];
}
Затем я ввожу FormBuilder
в функцию-конструктор:
@Inject(FormBuilder) public fb
HTML содержит следующую разметку:
<input [(ngModel)]="formData.title" type="text" class="form-control" ngControl="title">
Title and description works great. But I've added bootstrap dropdown and it has no any form element.
<div *ngFor="#value of values" (click)="onValueChanged(value)" class="dropdown-item">{{value}}</div>
Итак, проблема в том, что html-разметка не содержит никакой модели. Я пытался решить эту проблему, создав функцию onValueChanged
onValueChanged(value){
this.formData.controls.value.updateValue(value);
this.formData.value = value;
console.log(this.formData.pristine) //Still true :(
}
Обе эти строки не работают, потому что this.formData.pristine
не изменяется после изменения раскрывающегося списка.
Пока думаю как обновить FormBuilder
, хорошо бы какие-то методы, например this.fb.update()