在Angular2打字稿组件中,我有以下局部变量
teapot10: boolean = false;
teapot20: boolean = false;
teapot30: boolean = false;
我想在像这样的函数中动态使用它们
doSomeStuff("teapot20")
doSomeStuff(teapot: string){
this[teapot] = true
}
所以在这个例子中我传递了局部变量“teapot20”的字符串名称,我想用这个字符串来操作名为teapot20的实际变量。
我可以这样做吗?
由于
答案 0 :(得分:1)
您最好使用string literals而不只是字符串:
doSomeStuff(teapot: "teapot10" | "teapot20" | "teapot30") {
this[teapot] = true
}
或者:
type PropNames = "teapot10" | "teapot20" | "teapot30";
doSomeStuff(teapot: PropNames) {
this[teapot] = true
}
这样你可以确保没有人这样称呼它:
doSomeStuff("tepo10");