-1
export class MyClass {
myFuncA(msg){console.log('A: '+msg); console.log('this: ',this);}
myFuncB(msg){console.log('B: '+msg); console.log('this: ',this);}
}
我有一个名为mc
的类实例;我需要一种方法来执行一个Typescript
类的动态命名函数。Typescript:如何为动态执行的函数提供参数
此执行正常工作:
export class CallingClass {
constructor(){
let mc = new MyClass();
mc['myFuncA'].call(); // outputs 'A: undefined' 'this: undefined'
}
}
我有3个问题:
- 我怎样才能提供论据?
mc['myFuncA'].call('message')
不起作用 - 如何将
this
设置为CallingClass
?mc[...].call(...).bind(this)
错误 - 如何将
this
设置为MyClass
?
读取文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call –
@BryanChen谢谢布莱恩,这很有帮助。不知道为什么我认为这会很复杂。你是否在意足够写一个解决方案,以便我可以选择它?否则,我会写我自己的。 – BeetleJuice