我需要能够使用 fieldName
传递动态字符串,以便获取项目对象中的属性。为了方便重复这个问题,我举了一个小例子。问题是,正如我所检查的,此语法适用于 Angular 12.2.5,但不适用于 Angular 12.0.0 或更低版本。我可以简单地调用一个函数,但我知道这对性能不利。是否有其他方法可以为较旧的 Angular 应用程序编写此语法?
HTML
<p [style.background]="item?.[fieldName]">
Some Text
</p>
ts
item = { warn: 'yellow', success: 'green', error: 'red' };
fieldName = 'success';
错误看起来像这样
Parser Error: Unexpected token [, expected identifier or keyword at column 20 in [{background: item?.[fieldName]}]
最佳答案
尝试使用三元运算符?:
:
<p [style.background]="item[fieldName] ? item[fieldName] : ''">
Some Text
</p>
关于javascript - Angular ngStyle 解析器错误 : Unexpected token [, 需要标识符或关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69180436/