角度-条件名称取决于变量值

时间:2018-08-20 10:02:26

标签: javascript html angular typescript conditional

我的Typescript文件中有两个全局变量:

private myVar1 = 10;
private myVar2 = 150;

我有一个自定义元素,该元素在html中可以带有[name]属性。例如。这是我元素上的条件名称的样子:

<custom-element [name]="myVar1 === 10 ? 'tempName' : 'someOtherTempName'"></custom-element>

在上述情况下,由于myVar1为10,因此名称为 tempName

现在我的问题是:当数字(1或2)来自另一个变量时,如何引用myVar1myVar2

我尝试了以下操作,但没有用:

<custom-element [name]="('myVar'+index) === 10 ? 'tempName' : 'someOtherTempName'"></custom-element>

2 个答案:

答案 0 :(得分:5)

仅使用带有数组符号的函数。

getVar(index: number) {
  return this['myVar' + index];
}
<custom-element [name]="getVar(index) === 10 ? 'tempName' : 'someOtherTempName'"></custom-element>

Stackblitz

答案 1 :(得分:-1)

您可以通过将两个元素都收集到一个数组(或字典或任何集合)中,然后使用index

来检索它们

例如添加此字典

let vars = {1:var1, 2:var2}

并与

一起使用
<custom-element [name]="vars[index] === 10 ? 'tempName' : 'someOtherTempName'"></custom-element>