无法绑定到“ngModel”,因为它不是“mat-slide-toggle”的已知属性

Posted

技术标签:

【中文标题】无法绑定到“ngModel”,因为它不是“mat-slide-toggle”的已知属性【英文标题】:Can't bind to 'ngModel' since it isn't a known property of 'mat-slide-toggle' 【发布时间】:2018-07-21 23:55:19 【问题描述】:

我正在尝试获取 mat-slide-toggle 的当前值,但不幸的是我会收到错误消息:

Error: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'mat-slide-toggle'.

我在组件的 html 部分中使用这样的切换:

 <mat-slide-toggle color="primary" [(ngModel)]="showInnerView">
      Default Slide Toggle
 </mat-slide-toggle>

我的组件中的对应属性:

showInnerView: boolean = false;

我做错了什么?


Documentation 的mat-slide-toggle

Official example 的mat-slide-toggle[(ngModel)] 一起


使用的版本:Angular:5.2.4,Angular Material:5.2.0

【问题讨论】:

【参考方案1】:

ngModel 位于 FormsModule 中的 @angular/forms 中,因此请将其导入您的 AppModule(或您尝试在其中使用它的任何模块)。

另请参阅此问题:Angular 2 two way binding using ngModel is not working

【讨论】:

【参考方案2】:

请尝试在您的相应模块中包含 FormsModule,如下所示

@NgModule(
imports: [ BrowserModule, FormsModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
)

【讨论】:

我导入了 @angular/forms,但只使用了 ReactiveFormsModule。包括 FormsModule 有帮助!【参考方案3】:

运行后我也遇到了同样的问题

ng serve

已修复

【讨论】:

这不是一个答案,因为它没有提供任何解决方案或解释,请查看 *** 中关于如何回答问题的导览:***.com/help @Ferie,实际上它帮助了我 xD 即使我在组件的模块中导入了 FormsModule,我也遇到了这个错误。重新启动应用程序消除了这个错误。奇怪,但它有效。 @Symlis 我希望您认识到ng serve 只是在本地运行应用程序:它本身并不能解决问题。您必须更改应用程序中的某些内容才能让构建工作。

以上是关于无法绑定到“ngModel”,因为它不是“mat-slide-toggle”的已知属性的主要内容,如果未能解决你的问题,请参考以下文章

无法绑定到“ngModel”,因为它不是“input”的已知属性,即使 FormsModule 是 importet

NG0303:无法绑定到“ngModel”,因为它不是“离子范围”的已知属性

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

无法绑定到“ngModel”,因为它不是“输入”的已知属性。测试.spec.ts

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

“无法绑定到 'ngModel',因为它不是 'p-calendar' 的已知属性”尝试使用 PrimeNG 组件的错误消息,为啥?