Angular ngStyle Parser Error: Unexpected token [, expected i



我需要能够使用fieldName传递动态字符串,以便在项目对象中获得属性。为了使它容易重复的问题,我给出了一个小的例子。问题是这种语法在angular 12.2.5中正常工作,但在angular 12.0.0或更低版本中不工作。我可以简单地调用一个函数,但我知道这对性能不好。对于老版本的angular应用程序,是否有另一种方法来编写这种语法?

<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>

最新更新