【问题标题】:Angular: Error no directive with "exportAs" set to "ngForm"Angular:错误没有指令,“exportAs”设置为“ngForm”
【发布时间】:2018-11-20 04:13:57
【问题描述】:

我已经尝试导入 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”,因为它不是 “输入”的已知属性。 (" ][(ngModel)]="model.search" ngControl="search" #inputSearch="ngForm"> https://run.plnkr.co/rhpwnL6UIQwCFOKZ/src/main.js https://run.plnkr.co/rhpwnL6UIQwCFOKZ/src/main.jsf@ runtime.9ff156e16d788666a54a.js:16

【问题讨论】:

    标签: javascript angular angular-forms


    【解决方案1】:

    错误是由这一行引起的:

    #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>
    

    【讨论】:

    • 这是对 Angular 使用方式的改变吗?我问是因为我正在关注课程中的视频。
    • 不是这样的变化。您试图将 ngForm 分配给表单标签之外的模板变量。
    • 您可以在此处阅读有关 NgForm 用法的更多信息:angular.io/api/forms/NgForm。如果它帮助您解决问题,请评价并接受我的回答。
    猜你喜欢
    • 2017-11-08
    • 2018-05-12
    • 2016-12-03
    • 2017-01-26
    • 2018-08-05
    • 2019-02-21
    • 2021-10-01
    • 2017-09-10
    相关资源
    最近更新 更多