构建我的角度项目后,出现错误: 错误:找不到名称“ ngModel”的导出!
我的UI在docker容器中运行
甚至不确定在哪里寻找。它在开发中工作正常。 (ng服务)
任何想法
答案 0 :(得分:4)
将FormsModule分别导入您的spec.ts文件和app.module.ts中
INSERT
答案 1 :(得分:1)
我有同样的错误(尽管在开发人员中),事实证明我没有将 FormsModule 模块添加到 app.module.ts 文件中。见下文:
答案 2 :(得分:1)
您需要按照以下方式在 .spec.ts 和 app.module.ts (如果需要)文件中导入 FormsModule :
import { FormsModule } from '@angular/forms'; <------ Add this code
describe('Testing Component', () => {
...
...
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
FormsModule <------ Add this code
]
})
.compileComponents();
}));
...
...
答案 3 :(得分:0)
我有一个名为ngModel的模板变量。不知道这会带来什么影响,但删除似乎可以解决。
答案 4 :(得分:0)
另一个可能的问题:如果您使用的是template form validation
当您在没有#name="ngModel"
指令的表单字段上设置[(ngModel)]
例如
<input required [value]="hero.name" (change)="setHeroName($event)" #name="ngModel" >
<div *ngIf="name.invalid && (name.dirty || name.touched)"
class="alert alert-danger">Error</div>
=>错误:找不到名称“ ngModel”的导出
已通过替换固定
[value]="hero.name" (change)="setHeroName($event)"
作者
[(ngModel)]="hero.name"
答案 5 :(得分:-1)
如果您有一个表单和该表单中的一个元素,则该元素应使用 ngModel
将控件导出到父级。
<form (ngSubmit)= "onSubmit()" #f="ngForm">
<input type="email" id="email" name="email" #email="ngModel">
在上面的代码中,输入元素没有将控制导出到父表单元素。正确的代码是:
<form (ngSubmit)= "onSubmit()" #f="ngForm">
<input type="email" id="email" name="email" #email="ngModel">