有什么方法可以将字符串转换为angular中的对象属性?例如:
getErrorMessage(error_type) {
return this.userForm.controls.{error_type}.hasError('required') ? 'You must enter a value' : '';
}
getErrorMesssage('email');
该功能应类似于
return this.userForm.controls.email.hasError('required') ? 'You must enter a value' : '';
答案 0 :(得分:3)
您可以使用get()
函数:
getErrorMessage(controlName: string) {
return this.userForm.get(controlName).hasError('required') ? 'You must enter a value' : '';
}
唯一的是您要传递控件名称,而不是错误类型,这是我从变量命名中看到的。
答案 1 :(得分:1)
getErrorMessage(error_type) {
return this.userForm.controls[error_type].hasError('required') ? 'You must enter a value' : '';
}
方括号,不卷曲。
答案 2 :(得分:0)
通常,您可以使用方括号表示法访问对象属性:
const thing = { email: 'foo@bar.com };
console.log(thing['email']); // prints 'foo@bar.com'