如何进行字符串评估以更改 Angular/Typescript 中组件的变量?

How to make string evaluation to change component's variable in Angular/Typescript?

我有一个包含局部变量的组件,如下所示:

trainingColumns = 1;
trainingAttempts = 2;

等等

然后,它是我想要执行来自其余后端的带有业务规则的字符串的 http 响应处理程序。我想让它尽可能敏捷而不是硬编码,所以我不想解析这个字符串的值,而是我希望它被评估并更改组件局部变量的值,就像这样:

   this.trainingColumns = 2;

我试着把上面的字符串放到

(window as any).eval("this.trainingColumns = 2;");

并没有成功,组件的变量没有改变。那么,正确的 Angular/Typescript 方法是什么?并不是说在某些时候我可能需要,比如说,

   (window as any).eval("this.trainingColumns = 2; this.trainingAttempts = 1;");

甚至更复杂的东西。

虽然使用 eval 可能很危险,但这应该让您入门...

name: string = "";

ngOnInit() {
  var obj = this as object;
  eval("obj.name = 'hello world'")
  console.log(this.name) // hello world
}