ngmodel不是输入的属性

时间:2019-07-11 10:17:00

标签: angular input

我在使用NgModel时遇到问题,当我想从输入中保存数据时,它不起作用。

Uncaught Error: Template parse errors:
Can't bind to 'NgModel' since it isn't a known property of 'input'. ("
      placeholder="Account number"
      value="{{ account.number }}"
      [ERROR ->][(NgModel)]="newAccountNumber"
    />
  </mat-form-field>

我已经在寻找解决方案,但是我发现的唯一内容是导入FormsModule和MatInputModule,而我拥有这些导入。

imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
MatMenuModule,
MatIconModule,
MatToolbarModule,
MatButtonModule,
MatTableModule,
MatFormFieldModule,
MatInputModule,
BrowserAnimationsModule,
MatSelectModule,
MatCardModule,
NoopAnimationsModule,
FormsModule,
ReactiveFormsModule
]

<mat-form-field class="example-full-width">
    <input
      matInput
      placeholder="Account number"
      value="{{ account.number }}"
      [(NgModel)]="newAccountNumber"
    />
     </mat-form-field>

如何正确保存输入中的数据?

3 个答案:

答案 0 :(得分:1)

尝试使用[(ngModel)]代替[(NgModel)]。模型指令应从小写字母开始

有关更多信息,请查看Angular文档https://angular.io/api/forms/NgModel

答案 1 :(得分:0)

您需要在app.module或声明组件的模块中导入FormsModule

import { FormsModule } from '@angular/forms';

@NgModule({
  imports: [
    FormsModule,
    ...
  ],
  declarations: [
  ...
  ]
})

答案 2 :(得分:0)

尝试一下:

尝试使用ngModel而不是NgModel

<mat-form-field class="example-full-width">
    <input
      matInput
      placeholder="Account number"
      value="{{ account.number }}"
      [(ngModel)]="newAccountNumber"
    />
     </mat-form-field>