首页 > 解决方案 > Angular:如何在 TS 中访问其名称作为字符串从 HTML 传递的变量

问题描述

我想访问 .TS 中的变量,其名称是从 HTML 作为字符串传递的。

喜欢:

HTML:

<div id="myID"><button mat-button (click)="foo('name')">Export to Excel</button></div>

TS

varName = VARIABLE_VALUES;

foo(x: any) void {
  ...I'd like to get an access to "this.x"

}

有什么方法可以评估字符串“this.” + x? 或任何其他更优雅的方式来访问名称作为字符串传递的变量?

谢谢。

标签: angulareval

解决方案


您可以使用与 Angular 或 Typescript 不直接相关的括号表示法,而是使用 JavaScript 功能:

foo(x: any) void {
  // ...I'd like to get an access to "this.x"

  console.log(this[x]);
}

推荐阅读