不能在 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。
我使用名为 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。