当我注入UserService时,它没有出现 当我从组件中删除服务时,组件可以正常工作
@NgModule中的提供者
providers: [
UserService,
{
provide:AuthServiceConfig,
useFactory: getAuthServiceConfigs
}
],
服务代码
@Injectable()
export class UserService {
API_URL = environment.apiUrl;
constructor(private http: HttpClient) { }
getAll() {
return this.http.get<User[]>(this.API_URL+"getAllUsers");
}
}
组件代码
export class UserRegistrationComponent implements OnInit {
registerForm: FormGroup;
submitted = false;
newUser;
userService: UserService;
constructor(
userService: UserService
)
{
config.backdrop = 'static';
config.keyboard = false;
this.userService=userService;
}
ngOnInit() {
this.registerForm = this.formBuilder.group({
emailId: ['', Validators.required],
firstName: ['', Validators.required],
lastName: ['', Validators.required],
password: ['', [Validators.required, Validators.minLength(8)]]
});
}
}
答案 0 :(得分:0)
export class UserRegistrationComponent implements OnInit {
registerForm: FormGroup;
submitted = false;
newUser;
// userService: UserService; remove this line
constructor(
userService: UserService
)
{
config.backdrop = 'static';
config.keyboard = false;
// this.userService=userService; remove this line
}
ngOnInit() {
this.registerForm = this.formBuilder.group({
emailId: ['', Validators.required],
firstName: ['', Validators.required],
lastName: ['', Validators.required],
password: ['', [Validators.required, Validators.minLength(8)]]
});
}
}
如果您删除注释行然后尝试,它应该可以工作。 当您在构造函数中具有参数时,它将自动为该类创建一个变量,因此您可以像使用它一样 this.userService.getAll()
答案 1 :(得分:0)
您可以像这样在构造函数中获得服务实例:
constructor(private userService: UserService){}
然后您可以像这样使用它:
this.userService.getAll()