我正在尝试创建自定义 angular 2 验证器指令,它像这样注入(inject) NgControl:
@Directive({
selector: '[ngModel][customValidator]',
providers: [{provide: NG_VALIDATORS, useExisting: CustomValidatorDirective, multi: true}]
})
export class CustomValidatorDirective implements Validator {
private validateFunction: ValidatorFn;
constructor(private control: NgControl) { };
}
但是我得到以下错误:
Cannot instantiate cyclic dependency! NgControl
有谁知道我该如何解决它,以便我可以在初始化后访问 ngControl?
最佳答案
您可以通过 Injector 注入(inject) NgControl 以避免循环依赖。
constructor(private _injector: Injector) { }
ngOnInit() {
console.log(this._injector.get(NgControl))
}
关于angular - 在自定义验证器指令中注入(inject) ngControl,导致循环依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39809084/