我需要将JSON中的字符串替换为具有相应名称的函数(对象方法),并将参数传递给它 但是得到了
"Type 'this[Extract<keyof this, string>]' is not assignable to type '(event?: any) => void'"
简而言之,想拥有类似的东西:
if (typeof this[key] === 'function') {
position.command = this[key];
}
但是我的解决方案不允许我将参数传递给它
答案 0 :(得分:0)
尝试一下。另外请注意,这样做很危险,因为每个功能都将分配给该命令。
id = 1;
name = 'alice';
position = {
command: null
}
ngOnInit() {
for (const key in this) {
console.log(key);
if (typeof this[key] === 'function') {
this.position.command = this[key];
}
}
}
someFunction() {
console.log('someFunction');
}
请参见此stackblitz,但不会出现任何错误。
仅当您使用字符串初始化命令时,错误才存在;例如。 command: ''