我有一个使用ValidateSessionComponent
的组件LoginFormComponent
。我在LoginFormComponent
的HTML中使用了ValidateSessionComponent
中的ValidateSessionComponent
。
到目前为止,这个方法工作正常。然后,我决定通过DI在LoginFormComponent
ValidateSessionComponent
的引用
constructor(private loginForm2:LoginFormComponent,private helper:HelperService,private dialogService:DialogBoxService,private activatedRoute:ActivatedRoute, private router:Router, private userManagementService:UserManagementService) { }
这开始导致错误StaticInjectorError(DynamicTestModule)[ValidateSessionComponent -> LoginFormComponent]:
StaticInjectorError(Platform: core)[ValidateSessionComponent -> LoginFormComponent]:
NullInjectorError: No provider for LoginFormComponent!
为什么我开始出现错误?
答案 0 :(得分:1)
因为DI仅适用于提供商。
组件不是提供程序。
如果您希望获得对子元素的引用,请改用ViewChild
。
@ViewChild(LoginFormComponent, { static: true }) loginForm: LoginFormComponent;