我的Angular应用程序工作正常,但在我尝试在指令上实现ngAfterViewInit后,我收到以下错误:
以下是我尝试实施的代码:
ngAfterViewInit() {
this.control = this.injector.get(NgControl).control;
this.setValidator();
}
private setValidator() {
this.control.setValidators(Validators.required);
this.control.updateValueAndValidity();
}
代码基于this博文(使用Angular实现reCAPTCHA)。
我已经阅读了描述错误的SO answer,但我无法在特定情况下修复它。
为什么我收到此错误,我该怎么做才能解决此问题?
如果您需要任何其他代码或信息,请发表评论。
答案 0 :(得分:2)
将函数this.setValidator()
保留在settimeout
ngAfterViewInit() {
this.control = this.injector.get(NgControl).control;
setTimeout (()=> {
this.setValidator();
},0);
}
有关此错误的详细信息,请参阅this