我正在上课:
import { SoapNotePage } from "../pages/forms/soap-note/soap-note";
export class FormMapper {
public static SOAP_NOTE = SoapNotePage;
}
访问此属性很容易,请参阅以下示例:
open(item){
if(item.id == 1){
this.navCtrl.push(FormMapper.SOAP_NOTE, { patientId: 509070, formId: 75598 });
}
}
但我想要的是通过它的字符串名称来访问“SOAP_NOTE”属性,动态类型,例如:
this.navCtrl.push(FormMapper['SOAP_NOTE'], { patientId: 509070, formId: 75598 });
我问这个的原因是,函数“open(item)”的“item”参数可能包含FormMapper类的属性名。
有没有办法做到这一点?
答案 0 :(得分:4)
你可以这样做:
function open(item: keyof typeof FormMapper) {
console.log(FormMapper[item]);
}
这样,您可以将item
值限制为FormMapper
类的键,编译器不会抱怨。