不能在 Angular 中的 *ngFor 中使用子字符串

Can't use substring in *ngFor in Angular

我使用名为 setting 的变量遍历对象列表,对象的名称可按以下格式访问:

setting['_name']

设置名称格式如下:

<name>(<parameters>)

并且我必须显示来自另一个名为 formValues 的对象的数据,该对象使用 name 部分作为键。 所以我尝试了 运行:

<div *ngFor="let para of 
Object.keys(formValues[setting['_name'].substring(0,setting['_name'].indexOf('('))])">

但是没用。

你能指出我做错了什么或建议另一种方法来让它工作吗。

我找到了解决方法,但这仍然不是我要找的答案。如果有人可以仅使用 HTML 解决它,那就太好了。

我在 Typescript 中创建了一个函数来完成子字符串部分:

getMultiName(settingname : string){
return settingname.substring(0, settingname.indexOf('('));
}

然后我在 html 中使用 getMultiName(setting['_name']) 而不是 setting.substring(0, setting.indexOf('('))

您可以查看代码here