Подтвердить что ты не робот

Формы в Angular 2 RC4

Я экспериментирую с формами в Angular 2 RC4. Все работает отлично, но когда я запускаю приложение, консоль браузера дает мне это сообщение:

*It looks like you're using the old forms module. This will be opt-in in the next RC, and will eventually be removed in favor of the new forms module.

Соответствующая часть моего компонента выглядит следующим образом:

import {
    FORM_DIRECTIVES,
    REACTIVE_FORM_DIRECTIVES,
    FormBuilder,
    FormGroup
} from '@angular/forms';
import {Observable} from "rxjs/Rx";

@Component
({
    selector: "hh-topbar",
    moduleId: module.id,
    templateUrl: "topBar.component.html",
    directives: [HHPagerComponent, FORM_DIRECTIVES, REACTIVE_FORM_DIRECTIVES]
})

export class HHTopBarComponent implements OnChanges, OnInit
{
    ...
    private filterForm: FormGroup;
    private title$: Observable<string>;

    constructor(private formBuilder: FormBuilder)
    {
    }

    public ngOnInit(): any
    {
        this.filterForm = this.formBuilder.group
        ({
            "title": [this.info.filters.searchFileName]
        });

        this.title$ = this.filterForm.controls["title"].valueChanges;
        this.title$.subscribe(val =>
        {
            this.info.filters.searchFileName = val;
            this.filterChanged.emit(this.info.filters);
        });
    }
}

И соответствующая часть моего шаблона выглядит так:

<form [formGroup]="filterForm">
    <div>
        <label for="title">Title</label>
        <input [formControl]="filterForm.controls['title']" id="title" />
    </div>
</form>

Кто-нибудь знает, что представляет собой новый модуль форм, о котором говорит предупреждение, и какие директивы будут меняться и что?

4b9b3361

Ответ 1

При загрузке приложения необходимо явно отключить поддержку устаревшей формы:

import {disableDeprecatedForms, provideForms} from '@angular/forms';

bootstrap(AppComponent, [
  disableDeprecatedForms()
  provideForms()
]);

В то время как FormBuilder не устарел, вы можете использовать непосредственно класс FormGroup:

this.filterForm = new FormGroup({
  title: new FormControl('', Validators.required)
});