无法绑定到“ngModel”,因为它不是“输入”的已知属性

2022-08-29 21:56:46

我在我的组件中有这个简单的输入,它使用:[(ngModel)]

<input type="text" [(ngModel)]="test" placeholder="foo" />

当我启动我的应用程序时,我收到以下错误,即使组件未显示。

zone.js:461 未处理的承诺拒绝:模板解析错误:无法绑定到“ngModel”,因为它不是“输入”的已知属性。

下面是组件 .ts:

import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Intervention } from '../../model/intervention';

@Component({
   selector: 'intervention-details',
   templateUrl: 'app/intervention/details/intervention.details.html',
   styleUrls: ['app/intervention/details/intervention.details.css']
})
    
export class InterventionDetails
{
   @Input() intervention: Intervention;
    
   public test : string = "toto";
}

答案 1

是的,就是这样。在app.module.ts文件中,我刚刚添加了:

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

[...]

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

答案 2

为了能够对表单输入使用双向数据绑定,您需要在 Angular 模块中导入包。FormsModule

有关更多信息,请参阅此处的 Angular 2 官方教程和表单的官方文档。