javascript - Angular ngStyle 解析器错误 : Unexpected token [, 需要标识符或关键字

标签 javascript html angular typescript angular2-template

我需要能够使用 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/

相关文章:

javascript - 我正在使用 Angular 代码调用其余 api 并将其显示在屏幕上

javascript - 根据条件分配 ngStyle

javascript - CKEditor editor.resize() 在 jQuery 中不起作用

javascript - 当元素宽度<视口(viewport)时居中对齐,当元素宽度>视口(viewport)时右对齐+滚动

html - 首页高度太长没有解释

javascript - Highcharts 的宽度无法填满父级的 100%

angular - 调用post请求但在网络 Angular 5上调用get请求

php - 新用户上线时自动刷新

javascript - 当你用 JavaScript 改变 DOM 时,浏览器会获取新的资源吗?

javascript - 为什么我的 'for' 循环函数不起作用?