angular - 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? 或任何其他更优雅的方式来访问名称作为字符串传递的变量?
谢谢。
解决方案
您可以使用与 Angular 或 Typescript 不直接相关的括号表示法,而是使用 JavaScript 功能:
foo(x: any) void {
// ...I'd like to get an access to "this.x"
console.log(this[x]);
}
推荐阅读
- pytest - pytest/mixer Django - 夹具从另一个模型继承时忽略字段值
- java - 如何在 EditText 中添加数字分隔符
- java - 如何将两个或多个字符串数组列表的排列组合创建为一个组合列表
- laravel - 在 Laravel 5.7 中修改 getRouteKeyName
- javascript - Phaser3 + ES6 类:如何保持范围从创建到更新
- html - 如何在 HTML 中以列方式组合两个框架并使其成为一个可滚动页面?
- vuejs2 - 封装使用类语法的 vue 组件
- laravel - laravel vuejs/axios put request Formdata 为空
- python - 如何找到最优化的 if 语句序列?
- python - 将单个系数作为数组给出时如何调用它们?