Angular FormBuilder没有提供程序

Angular FormBuilder没有提供程序,angular,Angular,我仍然是新手,通过教程学习,但出于某种原因,我在尝试测试唯一用户名时收到了消息formbuilder没有提供程序。 我不知道为什么我会收到这个消息,但我无法找到解决方案。谁能告诉我为什么会这样 注册-component.ts 从'@angular/core'导入{Component}; 从“@angular/common”导入{ControlGroup,Control,Validators,FormBuilder} 从“./UsernameValidators”导入{UsernameValida

我仍然是新手,通过教程学习,但出于某种原因,我在尝试测试唯一用户名时收到了消息
formbuilder没有提供程序
。
我不知道为什么我会收到这个消息,但我无法找到解决方案。谁能告诉我为什么会这样

注册-component.ts

从'@angular/core'导入{Component};
从“@angular/common”导入{ControlGroup,Control,Validators,FormBuilder}
从“./UsernameValidators”导入{UsernameValidators}
@组成部分({
选择器:“注册”,
templateUrl:'signup component.html'
})
导出类注册组件{
形式:对照组;
构造函数(fb:FormBuilder){
this.form=fb.group({
用户名:['',Validators.compose([
Validators.required,usernamevidators.cannotContainSpace
])],
密码:['',验证程序。必需]
})
}
}
usernameValidators.ts

从'@angular/common'导入{Control}
导出类UsernameValidator{
静态应唯一(控件:控件){
返回新承诺((解决、拒绝)=>{
setTimeout(函数(){
如果(control.value==“andy”)
解析({shouldbeeunique:true});
其他的
解析(空);
}, 1000);
});
}
静态CannotContainerSpace(控件:控件){
if(control.value.indexOf(“”)>=0)
返回{cannotContainSpace:true};
返回null;
}
}

Import
ReactiveFormsModule
FormsModule

@NgModule({
进口:[
BrowserModule/*或CommonModule*/,
FormsModule,ReactiveFormsModule
],
...
})

在使用FormBuilder的模块中,谢谢!它起作用了,我在app.module.ts中导入了ReactiveFormsModule,因为它丢失了ReactiveFormsModule,FormsModule不应该同时导入到同一个模块中。这应该是一个可接受的答案。我必须将它导入app.module.ts才能使它工作。。。令人恼火的是,它会增加初始页面的加载量——尽管我说我没有注意到页面加载速度有多慢,但这两种方法对我都适用。