angular - ng6:在 html 中动态形成变量名
问题描述
零件
在我的组件中,我有这样的变量。
i18 = 'server';
i19 = 'database';
i21 = 'share-alt';
i20 = 'battery-full';
i22 = 'soundcloud';
html
i18
这将显示组件中的var
<fa [name]="[i18]"></fa>
i18
这将显示组件中的var
<fa [name]="i18"></fa>
这解析为“i18”而不是“服务器”
<fa [name]="'i'+category.id"></fa>
问题
在最后一个片段中,我试图从where为“18”i18
的组件中获取值,而不是打印“i18”模板。我怎样才能写 HTML 所以值是“服务器”'i'+category.id
category.id
'i'+category.id
解决方案
您不能在模板中动态创建变量名称。您可以将值存储在Map
结构中:
public names = new Map<number,string>([
[18, "server"],
[19, "database"],
[20, "battery-full"],
[21, "share-alt"],
[22, "soundcloud"],
]);
get
并使用模板中的方法检索它们:
<fa [name]="names.get(category.id)"></fa>
请参阅此 stackblitz以获取演示。
推荐阅读
- javascript - google appscript DocumentApp 无效参数错误
- cluster-analysis - 在多维(100+)集群问题中使用 PCA 去除异常值
- python - 如何在python中将光标列表转换为JSON格式?
- java - 如何在 Firestore 中对文档进行分页和处理 pageToken?
- ios - 在应用程序之间切换或进入后台时,Moya+Alamofire POST 请求超时
- flutter - 如何在 Flutter 中的应用启动时显示弹出窗口
- google-sheets-formula - Google表格:如何计算两个单元格都不为空的2列范围内的行数?
- python - data.rolling().mean() 在控制台中有效,但在运行时无效
- c# - 读取 dbase IV 文件 C#
- dataframe - 将数据拆分为新列