Angular2动态地访问该对象打字稿

Angular2动态地访问该对象打字稿

问题描述:

在Angular2打字稿成分,我有以下的局部变量Angular2动态地访问该对象打字稿

teapot10: boolean = false; 
teapot20: boolean = false; 
teapot30: boolean = false; 

我想在一个函数因此,在这个例子中动态地使用这些像这样

doSomeStuff("teapot20") 

doSomeStuff(teapot: string){ 
    this[teapot] = true 
} 

我传递局部变量“teapot20”的字符串名称,我想用这个字符串来操纵实际的变量teapot20。

我可以这样做吗?

感谢

+4

删除点,应该是:'这[茶壶]' –

+0

你是指'这[茶壶]'? – VadimB

+0

多数民众赞成在一个错字...多数民众赞成在我用什么,但不工作 – 72GM

你最好使用string literals,而不是只是一个字符串:

doSomeStuff(teapot: "teapot10" | "teapot20" | "teapot30") { 
    this[teapot] = true 
} 

或者:

type PropNames = "teapot10" | "teapot20" | "teapot30"; 
doSomeStuff(teapot: PropNames) { 
    this[teapot] = true 
} 

这种方式可以确保没有一个调用它像这样:

doSomeStuff("tepo10");