Angular: ошибка без директивы с «exportAs», установленным в «ngForm»

1

Я попытался импортировать модули FormsModule и NgForm, а также добавить FormsModule в массив импорта.

Ниже мой код:

//our root app component
import { Component, NgModule, VERSION } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import {FormsModule, NgForm} from '@angular/forms';

@Component({
  selector: 'my-app',
  template: '
  <form #searchForm="ngForm">
  <input type="text" required [(ngModel)]="model.search" ngControl="search" #inputSearch="ngForm">
  <p class="error" [hidden]="inputSearch.valid"> This input is required</p>


  </form>

  ',
  styles: ['
  .error {
    color: red;
    font-size: 11px;
  }
  ']
})
export class App {
  public model = {
    search: "" 
  }

  constructor() {

  }
}

@NgModule({
  imports: [BrowserModule, FormsModule],
  declarations: [App],
  bootstrap: [App],
})
export class AppModule {}

Ниже приведена распечатка ошибок:

runtime.9ff156e16d788666a54a.js: 16 Ошибка: ошибки синтаксического анализа шаблона: нет директивы с параметром "exportAs", установленным в "ngForm" ("] # searchForm =" ngForm ">] # inputSearch =" ngForm "> Этот вход требуется

"): ng:///AppModule/App.html@2: 76 Невозможно связать с 'ngModel', поскольку это не является известным свойством 'input'. ("] [(ngModel)] = "model. search "ngControl =" search "# inputSearch =" ngForm "> https://run.plnkr.co/rhpwnL6UIQwCFOKZ/src/main.js Загрузка https://run.plnkr.co/rhpwnL6UIQwCFOKZ/src/main.js f @runtime.9ff156e16d788666a54a.js: 16
Теги:
angular

1 ответ

2
Лучший ответ

Ошибка была вызвана этой строкой:

#inputSearch="ngForm"

Это правильная строка:

#inputSearch="ngModel"

Вот рабочий пример. Когда вы используете ngModel в теге формы, вам также необходимо указать значение атрибута "name".

  <form #searchForm="ngForm">
  <input type="text" required name="search" [(ngModel)]="model.search"  #inputSearch="ngModel">
  <p class="error" [hidden]="inputSearch.valid"> This input is required</p>
  </form>
  • 0
    это изменение в способе использования углов? Я спрашиваю, потому что я слежу за видео с курса.
  • 0
    Это не такое изменение. Вы пытались назначить ngForm для переменной шаблона вне тега формы.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню