2016-12-12 2 views
1

У меня есть небольшая проблема с шаблоном понимания ссылкой на переменной, при использовании NgForm, вот что в angular2 документе:угловые 2 шаблона задающего

<form (ngSubmit)="onSubmit(theForm)" #theForm="ngForm"> 
    <button type="submit" [disabled]="!theForm.form.valid">Submit</button> 
</form> 

Что такое значение theForm?

Это был бы HTMLFormElement, если бы Angular не принял его. Это На самом деле ngForm, ссылка на Угловую встроенную директиву NgForm , которая обертывает собственный HTMLFormElement и наделяет его дополнительными сверхдержавами , такими как возможность отслеживать достоверность ввода пользователя.

я понимаю, что такое значение theForm, но я не получаю от того, где мы получаем переменную ngForm, это свойство директивы NgForm?

ответ

2

exportAs - название, под которым экземпляр компонента экспортируется в шаблоне

ngForm угловая директива формы.

Вы можете подвергать вашу директиву к представлению в качестве локальных переменных с exportAs ключевых.

Из исходного кода:

@Directive({ 
    selector: 'form:not([ngNoForm]):not([formGroup]),ngForm,[ngForm]', 
    exportAs: 'ngForm' 
    ... 
}) 

Теперь вы можете получить доступ к API директивы ngForm в шаблоне как ngForm.

Когда вы пишете это:

#theForm="ngForm" 

Что она делает это создать локальную переменную в шаблон и присвоить это значение директивы формы.

Смежные вопросы