ngOnInit(): void {
this.formBuilder.group({
nameFormCtrl: ['', this.validateName],
});
}
validateName(c: FormControl) {
return c.value === this.name ? null : {
validateName: {
valid: false
}
};
}
这里this.name
应该引用组件,而是引用未定义的
答案 0 :(得分:10)
类方法没有绑定到当前实例的this
,它们依赖于调用者在调用时将适当的this
传递给函数,就像其他任何function
一样Javascript
您可以使用箭头函数从声明上下文中捕获this
,或使用this
显式绑定bind
:
this.formBuilder.group({
nameFormCtrl: ['', c=> this.validateName(c)],
// OR
nameFormCtrl: ['', this.validateName.bind(this)],
});